linux vsftp 简单配置

查看自己是否安装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

三、虚拟用户

.....

原文地址:https://www.cnblogs.com/hywhyme/p/7082043.html