vsftpd 安装与配置

  • 时间:
  • 浏览:
  • 来源:互联网

1.准备工作

  •  新建用户,指定用户目录
useradd -d /home/undercloud -s /sbin/nologin undercloud

注:-d /home/undercloud 指定用户目录

        -s /sbin/nologin 使该用户不能连接终端,更安全

此处指定目录为ftp连接成功后默认打开停留的目录,此目录所属者必须改为undercloud , chown -R undercloud /home/undercloud 默认是不用给的,如果不是home下对应用户目录就需要加

  • 为用户设置密码
passwd undercloud

2.安装vsftpd

yum install -y vsftpd

3.配置vsftpd 与说明

vim /etc/vsftpd/vsftpd.conf
  • 不允许匿名登录
anonymous_enable=NO

注:设置成NO,不要注释 ,因为以前默认是NO,现在默认是YES

  • 让用户具备写入权限
write_enable=YES
  • 将用户禁锢在主目录
chroot_local_user=YES

注:这个地方有坑,特别是和chroot_local_user=YES配合使用的时候注意,这两个选项默认    都是NO

chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到该目录之外的)

chroot_list_enable #是否启动限制用户的名单 YES为启用  NO禁用(该项默认值是NO,包括注释掉也为禁用) ,一般开启的话是和chroot_list_file配合使用;

chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于chroot_local_user的值,我们可以这样记忆: chroot_local_user总是一个全局性的设定,其为YES时,全部用户被锁定于主目录,其为NO时,全部用户不被锁定于主目录。那么我们势必需要在全局设定下能做出一些“微调”,即,我们总是需要一种“例外机制",所以当chroot_list_enable=YES时,表示我们“需要例外”。而”例外“的含义总是有一个上下文的,即,当”全部用户被锁定于主目录“时(即chroot_local_user=YES),"例外"就是:不被锁定的用户是哪些;当"全部用户不被锁定于主目录"时(即chroot_local_user=NO),"例外"“就是:要被锁定的用户是哪些。这样解释和记忆两者之间的关系就很清晰了!

对于chroot_local_user与chroot_list_enable的组合效果,可以参考下表:

 

  • 设置用户配置文件目录
user_config_dir=/etc/vsftpd/userconfig

注:这里可以根据实际情况配置目录,主要作用是为了可以给多个用户指定不同的FTP目录,

  • 允许对FTP有些权限
allow_writeable_chroot=YES

注:这里必须启用让chroot可写,否则会报错

  • 创建home目录

不创建可以直接使用home下对应用户的目录(我这里用/home/undercloud 这个目录)

  • 编辑用户配置文件(为多用户指定FTP目录)
echo "local_root=/home/undercloud" > /etc/vsftpd/userconfig/undercloud

注:在 /etc/vsftpd/userconfig 创建一个和用户同名的文件,使用local_root=/dir 来指定FTP目录,如果不指定FTP目录,则用户使用ftp登录后虽然停留在用户家目录,但是却可以访问系统其他目录,存在极大风险

4.启动vsftpd

systemctl restart vsftpd

本文链接http://metronic.net.cn/metronic/show-53475.html