1.安装vsftpd软件
实测使用apt-get方式可以安装
- 可以使用service vsftpd status命令查看vsftpd软件的运行状态
- 修改配置文件/etc/vsftpd.conf
追加上
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO”
注明:
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在userlist_file文件中的用户以及不在在userlist_file文件中的用户这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,userlist_file文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:userlist_file是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:userlist_file是一个白名单,即:只有出现在名单中的用户才会被准许登入(userlist_file之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在userlist_file中加入一行:anonymous
附:配置选项详解
#禁用匿名用户登陆
anonymous_enable=NO
#允许本地用户登陆
local_enable=YES
#允许本地用户写入
write_enable=YES
#注意:这个地方如果不配置,就会出现只有root用户可以登陆,普通用户不可以
check_shell=NO
#掩码,决定了上传上来的文件的权限。设置为000使之有最大权限
local_umask=000
#允许记录日志
xferlog_enable=YES
#允许数据流从20端口传输
connect_from_port_20=YES
#日志路径
xferlog_file=/var/log/vsftpd.log
#ftp欢迎语,可以随便设置
ftpd_banner=hi,guys!
#注意:这个选项可以保证用户锁定在指定的家目录里,防止系统文件被修改。
chroot_local_user=YES
#注意:这个不配置有可能出现只能下载不能上传
allow_writeable_chroot=YES
#配置了可以以stand alone模式运行
listen=YES
#注意:该选项不配置可能导致莫名其妙的530问题
seccomp_sandbox=NO
#说明我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户
userlist_deny=NO
userlist_enable=YES
#记录允许本地登陆用户名的文件
userlist_file=/etc/vsftpd/allowed_users
- 新建allowed_users
这个文件是用来写下用户名字的,至于是白名单还是黑名单,请具体参照上面的注释(一般用来写白名单)。
- 使用vim查看/etc/ftpusers文件中的内容
这是一个黑名单,记录的是那些用户无法访问FTP服务器
- 配置好之后一定要重启FTP服务器
sudo service vsftpd restart
- 可以使用winscp等软件测试ftp服务器能否正常使用