查看自己是否安装vsftp
rpm -qa | grep vsftp
rpm -qa 查看自己已安装的包 过滤vsftp
systemctl rsetart vsftpd
重启服务
先关闭防火墙
systemctl stop firewalld
一。匿名
写vsftp的配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 匿名登录是否允许
write_enable=YES 写入开启
anon_upload_enable=YES 匿名上传 是否开启
anon_mkdir_write_enable=YES 匿名创建文件夹
anon_other_write_enable=YES 匿名其他写入
此时 vsftp 能够上传 但是不能下载
1。 修改 /var/ftp/pub 目录权限 只给 other 一个r 权限
变更 pub 目录 是由 ftp 控制
chown ftp:ftp pub/
2.。 修改配置文档 添加一个 anon_world_readable_only =NO
vsftpd.conf有一个选项anon_world_readable_only、它默认是开启的YES
如果开启之后,会出现以下效果
对于文件说,如果文件的其他人没有r的权限,那么将不能下载,即使ftp用户有读的权限也不可以
也就是说如果要anonymous要能下载,需要
1、ftp用户对文件要有读的权限
2、给其他人加上读的权限 (或者将anon_world_readable_only设置为NO)
此时 匿名能够上传 能够下载
二。本地用户的下载与上传
创建本地用户 useradd ftp01
useradd ftp02
为用户添加上密码
passwd ftp01
passwd ftp02
本地用户登录
local_enable=YES
local_umask=022 上传的权限
ftp01 创建后 我们可以让他无法登录
修改/etc/passwd 把 /bin/bash 修改成 sbin/nologin 这样 就无法登录了
登录ftp01 会发现我们可以进入系统目录 这时候我们可以修该配置来锁定ftp01的家目录
ftp01 应该是登录自己家目录
chroot_local_user=YES #锁定本地用户,登录后不允许跳出ftp根目录,即家目录
chroot_list_enable=YES 列表
chroot_list_file=/etc/vsftpd/chroot_list 列表名单
上 3个同时开启 的时候 chroot _list 里面的用户 是不是限制的 类似于白名单
这时候我们使用用户去登录 会报错
原因是 本地用户的家目录 有w权限
drwx------. 2 ftp01 ftp01 62 6月 26 19:42 ftp01
drwx------. 2 ftp02 ftp02 62 6月 26 19:42 ftp02
去掉 w 权限 就可以了
dr-x------. 2 ftp01 ftp01 62 6月 26 19:42 ftp01
dr-x------. 2 ftp02 ftp02 62 6月 26 19:42 ftp02
chmod 500 ftp01 ftp02
三、虚拟用户
.....