大家好,欢迎来到IT知识分享网。
1、安装vsftpd
# sudo apt-get install vsftpd
若提示Unable to locate package(未发现软件包),则需要先更新源列表/etc/apt/source.list文件。
Ubuntu源:http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8
执行:
# sudo apt-get update
然后进行vsftpd安装。
2、添加ftp用户
创建用户目录,并赋予权限:
# sudo mkdir /home/myftp
# sudo chmod 777 /home/myftp -R
创建用户(用户名为myftp,与后面vsftpd配置文件对应):
# sudo useradd -m myftp -d /home/myftp
若不想让该用户登录系统
#sudo useradd -m myftp -d /home/myftp -s /bin/bash/nologin
设置用户密码:
# sudo passwd myftp
3、修改服务器配置
# sudo vi /etc/vsftpd.conf
打开/etc目录下的配置文件vsftpd.conf
配置ftp服务器参数参考如下:
listen=YES
#listen_ipv6=YES #使用IPV6
anonymous_enable=NO #不允许匿名访问
local_enable=YES #允许本地用户登录
write_enable=YES #允许FTP写入
local_umask=022 #新建文件夹或文件的权限默认为077,大多数ftp服务器设置为022
#anon_upload_enable=YES #不允许匿名用户上传文件
#anon_mkdir_write_enable=YES #不允许匿名用户新建目录
dirmessage_enable=YES #进入目录时向远程用户发送消息
use_localtime=YES #显示带有时间的目录列表
xferlog_enable=YES #激活上传/下载的日志记录
connect_from_port_20=YES #确保ftp传输端口号为20
#chown_uploads=YES #可将上传的匿名文件由指定用户拥有
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log #日志文件路径,也可以直接使用默认路径
xferlog_std_format=YES #使用标准化格式的日志文件
#idle_session_timeout=600 #空闲会话超时的默认值
#data_connection_timeout=120 #数据连接超时的默认值
#Nopriv_user= ftpsecure #创建唯一的用户,将该用户用作完全隔离且无特权的用户
#async_abor_enable=YES #识别异步abor请求,可能会拒绝一些老的FTP客户端的连接
#ascii_upload_enable=YES #设置ASCII上传下载
#ascii_download_enable=YES
ftpd_banner=Welcome to blah FTP service. #登录欢迎语
#deny_email_enable=YES #拒绝匿名email地址的文件,防止攻击
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_local_user=YES #将本地用户限制在主目录中
local_root=/home/myftp #设置主目录
chroot_local_user=YES #限制用户权限
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #允许访问的用户列表文件
#ls_recurse_enable=YES #激活ls -r选项
secure_chroot_dir=/var/run/vsftpd/empty #空目录名称
pam_service_name=myftp #创建的ftp用户名
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #ssl的RSA证书位置
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #ssl的RSA秘钥位置
#ssl_enable=NO #开启ssl加密
#utf8_filesystem=YES #使用utf8文件系统
如下为配置后的vsftpd.conf文件内容,#为注释内容,已删除。
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ftpd_banner=Welcome to blah FTP service.
local_root=/home/myftp
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=myftp
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
其中:
local_root=/home/myftp //该目录为之前创建的用户目录
pam_service_name=myftp //默认为vsftpd,需要更改为创建的ftp用户名
创建文件vsftpd.chroot_list
# sudo vi /etc/vsftpd.chroot_list
并将之前创建的用户名(myftp)添加到该文件中。
4、开启ftp服务
//启动服务
# sudo service vsftpd start
//重启服务
# sudo service vsftpd restart
//停止服务
# sudo service vsftpd stop
5、遇到的问题
使用如上配置,在本地虚拟机搭建ftp服务器,能够正常连接。在阿里云服务器上搭建则遇到如下问题:
1、安全组策略未打开,无法访问。
阿里云服务器TCP端口号20和21是默认是被禁用的,需要设置入方向允许。
2、使用windows本地文件夹访问时,提示FTP文件夹错误,227 Entering Passive Mode..
查询相关资料,这是由于FTP的主动模式和被动模式导致的。解决方法为:
打开浏览器->工具 ->Internet 选项 -> 高级->取消使用被动FTP的勾选->应用->确定。
6、测试结果
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25475.html