love_nature_4-wallpaper-1920x1200

目的

建立一个ftp服务器

  1. 禁止匿名登录

  2. 允许team1账号对/var/ftp/data进行管理和操作

  3. 而其他所有账号(team2,team3)只能对/var/ftp/data/data1进行管理和操作,意思是这些账号的根目录锁死在data1目录下

安装

  1. 安装vsftpd
yum -y install vsftpd
  1. 创建两个用户team1 team2,并设置密码
useradd -s /sbin/nologin team1

useradd -s /sbin/nologin team2

echo "123456" | passwd --stdin team1

echo "123456" | passwd --stdin team2
  1. 修改配置文件
vim /etc/vsftp/vsftp.conf

修改说明:

anonymous_enable=NO   #禁止匿名登录

local_root=/var/ftp/data/data1  #锁定用户根目录的路径
chroot_local_user=YES    #所有的用户有锁定在这个根目录

chroot_list_enable=YES  #开启,则chroot_list_file下的用户不受限制

chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES  #开启write的权限
  1. 创建/etc/vsftpd/chroot_list文件
vim /etc/vsftpd/chroot_list

写入一行team1

  1. 创建/var/ftp/data/data1目录
mkdir -p /var/ftp/data/data1

chmod -R o+w /var/ftp/data/data1 赋予用户写的权限
  1. 重启服务
systemctl restart vsftpd

访问方式

浏览器直接访问验证,要求输入的用户名密码:team1/123456

image.png

可能遇到的错误处理

centos7 ftp报错 530 Login incorrect

tail -f /var/log/secure

查看错误信息,根据相应信息修改

如果没有信息,则修改/etc/pam.d/vsftpd文件,注释掉auth required pam_shells.so

重启vsftpd服务器即可