> 前记:自己做了个虚拟机,想用ftp连接,然后又不想让ftp访问到其他的目录。
前提:
系统为ubuntu16 服务器版,已安装vsftpd(安装方法:sudo apt-get install vsftpd),ftp连接程序-FileZilla。
开始:
添加用户:
# useradd -d /home/test -g test -s /sbin/nologin test
修改用户默认目录。(我的用户为test)
两种方法:
1.usermod -d /home/test test
2.vim /etc/passwd 修改默认目录
限制访问其他目录:
# vim /etc/vsftpd.conf (也有其他版本说在/etc/vsftpd/vsftpd.conf,未验证)
修改:
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list #(与conf文件在同一目录下)
allow_writeable_chroot=YES #这句可解决"500 OOPS: vsftpd: refusing to run with writable root inside chroot()" 问题
然后:
vim /etc/vsftpd.chroot_list
添加想要限制的用户名,我的用户为test。
test
一个用户一行
然后重启服务
# service vsftpd restart
补充:如果ftp连接上,但是不能显示正确目录,可能是权限问题,给test用户添加目录的读写权限就行了
OK :)
PS: 这三条控制ftp可写文件