1、使用root用户登录服务器
2、添加用户test,并设置路径
useradd -d /data/sftp/test/ test
3、为test用户设置密码
passwd test
4、查看passwd文件中是否存在test:x:1005:1001::/data/sftp/test/:/sbin/nologin
cat /etc/passwd
5、修改文件夹所属用户
chown test:test -R /data/sftp/test
6、给test文件夹授权
chomd 755 -R test
7、修改vsftpd.conf配置文件
vim /etc/vsftpd/vsftpd.conf
a.配置chroot_local_user=YES或者chroot_list_enable=YES,区别在于前者为是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的);后者为是否启动限制用户的名单 YES为启用 NO禁用(包括注释掉也为禁用)。如果选用后者需要增加一行配置chroot_list_file=/etc/vsftpd/chroot_list,如果没有该文件需要手动建,然后将ftp用户名test配置到chroot_list文件中。
b.增加一行配置allow_writeable_chroot=YES,因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报错。 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者可以在vsftpd的配置文件中增加这个配置。
8、重启ftp服务service vsftpd restart
9、查看ftp服务状态service vsftpd status
10、测试
ftp ip 使用test用户登录,检查是否无法切换到其他目录,则成功。