(一).安装软件lftp vsftp
修改防火墙策略
systemctl start vsftpd
systemctl enable vsftpd
修改配置文件/etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
(二).匿名用户
(1)anonymous_enable=YES ##允许匿名用户登陆
(2)允许上传
write_enable=YES ##匿名用户上传文件用的时ftp用户建立,ftp属本地用户,所以这个必须yes
anon_upload_enable=YES ##允许匿名用户上传文件
chgrp ftp /var/ftp/pub/ ##修改本地文件权限为ftp组
chmod 775 /var/ftp/pub/ ##组权限7,其他人权限5
匿名用户登陆时,用的是系统用户ftp,登陆进的家目录是/var/ftp/pub,从图中可以看出/var/ftp/pub 的用户和组为root,不允许ftp用户登陆,而如果我们给改目录777权限,当然就可以允许ftp登陆,但权限过大,所以,我们把该目录的组改为ftp,权限给到775
(3)创建目录
(4)删除和重命名
(5)允许下载
anon_world_readable_only=NO
(6)更改匿名用户家目录
本来默认的是/var/ftp
本例中改为/test
anon_root=/test
(7)更改上传文件的用户
本来默认的是ftp(用户和组均是)
更改为student
(8)用户上传文件权限
之前默认077,改为022后上传了group,新建了test,权限确实改变为644与755
(二)本地用户
(1)local_enable=YES ##允许本地用户登陆
write_enable=YES ##允许本地用户写入|删除文件
(2)将本地用户锁在自己的家目录中(要降低权限,chmod u-w /home/*)
只有chroot_local_user=YES###锁住所有用户
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list###白名单
例子中白名单中只有student,其他用户不允许到根目录
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list###黑名单
(3)本地用户登陆限制
vim /etc/vsftpd/ftpusers ##用户永久黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单(关机重启后依然在)
当userlist_deny=NO
/etc/vsftpd/user_list ##变成用户白名单(优先级低于永久黑名单)
名单中依然为student,就只允许student登陆
(三)虚拟用户
(1)创建虚拟帐号身份
将记录帐号的文件加密
认证文件
配置文件
(2)独立虚拟用户家目录
给虚拟用户创建属于自己的家目录
修改配置文件
lcal_root=/USER ##USER获取用户名
user_sub_token=$USER ##标记此用户名是从shell中获取的
验证
(2)独立虚拟用户权限
创建目录/etc/vsftpd/vuserconf
在该目录下写入文件usr1 usr2
修改配置文件
该例子中注释掉write_enable=YES ,只给usr1文件中写入该权限
验证