FTP

(一).安装软件lftp vsftp
修改防火墙策略
systemctl start vsftpd
systemctl enable vsftpd
修改配置文件/etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
(二).匿名用户
(1)anonymous_enable=YES ##允许匿名用户登陆
FTP

FTP

(2)允许上传
write_enable=YES ##匿名用户上传文件用的时ftp用户建立,ftp属本地用户,所以这个必须yes
FTP
anon_upload_enable=YES ##允许匿名用户上传文件
FTP
chgrp ftp /var/ftp/pub/ ##修改本地文件权限为ftp组
chmod 775 /var/ftp/pub/ ##组权限7,其他人权限5

FTP
匿名用户登陆时,用的是系统用户ftp,登陆进的家目录是/var/ftp/pub,从图中可以看出/var/ftp/pub 的用户和组为root,不允许ftp用户登陆,而如果我们给改目录777权限,当然就可以允许ftp登陆,但权限过大,所以,我们把该目录的组改为ftp,权限给到775
FTP

(3)创建目录
FTP

FTP

(4)删除和重命名
FTP
FTP

(5)允许下载
anon_world_readable_only=NO
FTP

(6)更改匿名用户家目录
本来默认的是/var/ftp
本例中改为/test
anon_root=/test
FTP

(7)更改上传文件的用户
本来默认的是ftp(用户和组均是)
FTP
更改为student
FTP

FTP

(8)用户上传文件权限
FTP

之前默认077,改为022后上传了group,新建了test,权限确实改变为644与755
FTP

(二)本地用户
(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###白名单
FTP

例子中白名单中只有student,其他用户不允许到根目录
FTP

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list###黑名单

(3)本地用户登陆限制
vim /etc/vsftpd/ftpusers ##用户永久黑名单
FTP

FTP

vim /etc/vsftpd/user_list ##用户临时黑名单(关机重启后依然在)

当userlist_deny=NO
/etc/vsftpd/user_list ##变成用户白名单(优先级低于永久黑名单)

FTP
名单中依然为student,就只允许student登陆
FTP

(三)虚拟用户
(1)创建虚拟帐号身份
FTP

将记录帐号的文件加密
FTP

认证文件
FTP

配置文件
FTP

FTP

(2)独立虚拟用户家目录
给虚拟用户创建属于自己的家目录
FTP

修改配置文件
lcal_root=/USER ##USER获取用户名

FTP
user_sub_token=$USER ##标记此用户名是从shell中获取的
FTP
验证
FTP

FTP

(2)独立虚拟用户权限
创建目录/etc/vsftpd/vuserconf
在该目录下写入文件usr1 usr2
FTP

FTP

修改配置文件
该例子中注释掉write_enable=YES ,只给usr1文件中写入该权限
FTP

验证
FTP

FTP