这是参考的文章,不过最后一个地方作者说的不太对,或者说没提到
这篇文章也不错
安装
sudo install vsftpd
添加用户
useradd test -g ftp -d /home/test -s /sbin/nologin
passwd test //设置密码
-d /home/test 是目录,可以换成自己的,比如网站根目录
-s /sbin/nologin 是设置这个账号,不能登录服务器,只能作为ftp账号使用
登录的时候,如果碰到
530 Login incorrect
在 /etc/shells 最后一行添加
/sbin/nologin
修改vsftpd的配置文件 /etc/vsftpd.conf
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#可以上传
write_enable=YES
#启用在chroot_list_file的用户只能访问根目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list添加受访问目录限制的用户名:
echo "test" >> /etc/vsftpd.chroot_list
test
这样配置完后,使用ftp客户端登陆,会报 refusing to run with writable root inside chroot() 错误,
搜索了一下后,还要在/etc/vsftpd.conf配置文件中添加如下一行:
allow_writeable_chroot=YES
这样就可以限制用户只能访问指定的根目录和子目录,不能访问其他目录了。
记得重启
service vsftpd restart