上接《小白学习Red Hat Linux7.0系列一之安装资源总结(VMware-workstation的安装号码和所有版本激活密匙、Linux6或7镜像版本提供)》《小白学习Red Hat Linux7.0系列二之bash: yum: command not found或Redhat This system is not registered with RHN错误》《小白学习Red Hat Linux7.0系列三之vsftp安装指令、防火墙(firewalld)指令、SElinux设置、systemctl指令、vsftp安装步骤》基于实际业务的考虑,关于vsftpd的匿名登录及匿名相关的功能配置这里就不过多介绍,有兴趣的读者可以参考网上资料。本篇博客主要讲解vsftpd本地登录及指定用户目录限定在相应配置文件中的配置及注意事项,其它相关配置还请参照网上资料。
/etc/vsftpd目录下配置文件讲解
- ftpusers
不允许通过ftp登录的用户列表
- user_list
如果userlist_deny=NO,则只允许此文件中的用户。
如果userlist_deny=YES(默认),则绝不允许此文件中的用户。
注意,默认的vsftpd pam配置还检查/etc/vsftpd/ftpusers对于被拒绝的用户。
- vsftpd.conf
vsftpd的核心配置文件,通过对其参数的修改来满足各种需求,下面只介绍跟本地登录、指定用户目录限定相关的参数设置,其它参数读者可以参照网上资料。
anonymous_enable=YES (接受匿名用户,默认无密码请求YES)
local_enable=NO (接受本地用户,默认NO)
chroot_list_enable=YES (如果启动这项功能,则所有列在chroot_list_file中的使用者不能更改根目录,默认被注释)
chroot_list_file=/etc/vsftpd/chroot_list (定义不能更改用户主目录的文件,该文件需自己创建,默认被注释)
local_root=/var/ftp (定义本地用户登录后的显示目录,该配置需手动添加)
userlist_enable=YES(local_enable=YES时,该配置才有效。若启用此选项,userlist_deny选项才被启动 )
userlist_deny=NO(若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录 )
vsftpd的本地登录
- 修改vsftpd.conf配置文件中的"anonymous_enable=NO",不启用匿名用户登录。
- 修改vsftpd.conf配置文件中的"local_enable=YES",启用本地用户登录。
- 修改vsftpd.conf配置文件中的"userlist_enable=YES",启用user_list配置文件。
- 修改vsftpd.conf配置文件中的"userlist_deny=NO",设置为NO是方便下面的"指定用户目录限制"操作。
- 按照以上设置无误且设置过程中无错误的话,在浏览器输入地址效果图应该如下, 若出现"530 Permission denied."错误,检查’user_list’、'ftpusers’两个文件中是否存在刚刚登陆的用户。下面看错误场景的截图。
- 把’ftpusers’、'user_list’中root信息删除后,重启vsftpd服务后在浏览器重新访问及输入root用户及密码,访问成功!
指定用户目录限定
如上两个图,我们用用户’root’、'wangjintao’两个用户在浏览器上登录vsftpd,大家一定会发现不同的用户访问的文件目录不一样。之所以目录不一样是因为我们在创建用户的时候(不指定目录)系统会给账户一个默认的目录,如:"/home/wangjintao",并且我们也可以访问其他上级目录结构,这样显然不符合我们实际业务中的需求,实际需求中我们不会系统中自带的用户,而是自己创建一些用户从而来指定他们来访问一个我们指定的目录,下面来看下配置步骤:
- 取消vsftpd.conf配置文件中 "chroot_list_enable=YES"注释并设置为"YES"开启此功能。
- 取消vsftpd.conf配置文件中"chroot_list_file=/etc/vsftpd/chroot_list"注释。
- 在"/etc/vsftpd"目录下创建"chroot_list"文件。
- 在"chroot_list"文件中添加限定用户(一个用户一行),一定要确认所添加用户不在’ftpusers’和’user_list’中,我们测试添加’root’、'wangjintao’两个用户。
- 在vsftpd.conf配置文件中新增"local_root=/var/ftp"配置。
- 重启服务后分别用’root’、'wangjintao’在浏览器访问,从截图可以看出不能访问上级目录。'pub’文件为系统默认创建目录,也是匿名用户登录的访问地址,'write’为本人自己创建目录实际上传文件也是用自创建的目录,因为用’pub’目录有时会报错,所以大家最好也在相应的目录下自己创建并使用,配置成功!