小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)

    上接《小白学习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目录下配置文件讲解

小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第1张图片

  1. ftpusers

不允许通过ftp登录的用户列表
在这里插入图片描述

  1. user_list

如果userlist_deny=NO,则只允许此文件中的用户。
如果userlist_deny=YES(默认),则绝不允许此文件中的用户。
注意,默认的vsftpd pam配置还检查/etc/vsftpd/ftpusers对于被拒绝的用户。
小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第2张图片

  1. 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的本地登录

  1. 修改vsftpd.conf配置文件中的"anonymous_enable=NO",不启用匿名用户登录。
  1. 修改vsftpd.conf配置文件中的"local_enable=YES",启用本地用户登录。
  1. 修改vsftpd.conf配置文件中的"userlist_enable=YES",启用user_list配置文件。
  1. 修改vsftpd.conf配置文件中的"userlist_deny=NO",设置为NO是方便下面的"指定用户目录限制"操作。
  1. 按照以上设置无误且设置过程中无错误的话,在浏览器输入地址效果图应该如下, 若出现"530 Permission denied."错误,检查’user_list’、'ftpusers’两个文件中是否存在刚刚登陆的用户。下面看错误场景的截图。
    小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第3张图片
    小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第4张图片
    小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第5张图片
  1. 把’ftpusers’、'user_list’中root信息删除后,重启vsftpd服务后在浏览器重新访问及输入root用户及密码,访问成功!小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第6张图片

指定用户目录限定

小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第7张图片
小白学习Red Hat Linux7.0系列四之vsftpd本地登录(ftpusers、user_list、vsftpd.conf)、指定用户目录限定(chroot_list、vsftpd.conf)_第8张图片

     如上两个图,我们用用户’root’、'wangjintao’两个用户在浏览器上登录vsftpd,大家一定会发现不同的用户访问的文件目录不一样。之所以目录不一样是因为我们在创建用户的时候(不指定目录)系统会给账户一个默认的目录,如:"/home/wangjintao",并且我们也可以访问其他上级目录结构,这样显然不符合我们实际业务中的需求,实际需求中我们不会系统中自带的用户,而是自己创建一些用户从而来指定他们来访问一个我们指定的目录,下面来看下配置步骤:

  1. 取消vsftpd.conf配置文件中 "chroot_list_enable=YES"注释并设置为"YES"开启此功能。
  1. 取消vsftpd.conf配置文件中"chroot_list_file=/etc/vsftpd/chroot_list"注释。
  1. 在"/etc/vsftpd"目录下创建"chroot_list"文件。
  1. 在"chroot_list"文件中添加限定用户(一个用户一行),一定要确认所添加用户不在’ftpusers’和’user_list’中,我们测试添加’root’、'wangjintao’两个用户。
  1. 在vsftpd.conf配置文件中新增"local_root=/var/ftp"配置。
  1. 重启服务后分别用’root’、'wangjintao’在浏览器访问,从截图可以看出不能访问上级目录。'pub’文件为系统默认创建目录,也是匿名用户登录的访问地址,'write’为本人自己创建目录实际上传文件也是用自创建的目录,因为用’pub’目录有时会报错,所以大家最好也在相应的目录下自己创建并使用,配置成功!
    在这里插入图片描述
    在这里插入图片描述

你可能感兴趣的:(linux)