![为 VSFTP 根据每个用户定义任意 chroot](https://linux22.com/image/505663/%E4%B8%BA%20VSFTP%20%E6%A0%B9%E6%8D%AE%E6%AF%8F%E4%B8%AA%E7%94%A8%E6%88%B7%E5%AE%9A%E4%B9%89%E4%BB%BB%E6%84%8F%20chroot.png)
我想为我的服务器(Ubuntu 8.04)设置两个 FTP 用户:
- 登录 /var/www 以便可以访问和管理所有网站文件
- 一个被 chroot 到(比如说) /var/www/images 的目录,这样它们就只能访问该站点的图片
理想情况下,我希望能够单独配置每个用户的 FTP 目录,例如:
#userid chroot location
#--------------------------
webadmin /var/www
imageadmin /var/www/images
#etc...
有没有办法用 VSFTP 做到这一点?我能找到的所有虚拟用户示例都显示了使用某种/some/dir/$username
格式的 chrooting。
我猜我可以创建一个本地 imageadmin 帐户,主目录为,/var/www/images
然后改用本地登录?这对于仅使用 FTP 的用户来说合理吗(我想我可以将 shell 设置为 null...)?
答案1
sudo useradd -d /var/www webadmin
sudo passwd webadmin
sudo useradd -d /var/www/images imageadmin
sudo passwd imageadmin
Vsftpd 会自动将用户 chroot 到他们的主目录,因此如果您创建的用户的主目录指向您希望他们被关押所在的目录,那么您就一切就绪了。
将 shell 设置为 null 是个好主意。还可以拒绝某些用户登录 ssh。