为 VSFTP 根据每个用户定义任意 chroot

为 VSFTP 根据每个用户定义任意 chroot

我想为我的服务器(Ubuntu 8.04)设置两个 FTP 用户:

  1. 登录 /var/www 以便可以访问和管理所有网站文件
  2. 一个被 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。

相关内容