我的系统中有3个用户:
我在ubuntu 14.04上安装了proftpd。 使用DefaultRoot指令,我可以监视特定目录中的用户,例如/ home /%u / test
但是,如果我需要为一个用户设置dir /srv/www/domain.com,例如:user1?
你必须非常欺骗它使用mount – 绑定像这样的用户,你想在该目录中
mount --bind /srv/www/domain.com /home/user1/test/domain.com
您也可以使用DefaultRoot指令的可选组参数。 例如,假设您的每个用户都属于一个同名的组:
ProFTPD按其出现顺序评估其configuration文件中的DefaultRoot指令,并使用第一个匹配指令 。 因此你可以使用下面的configuration来为user1使用一个不同的chroot目录:
# Users in group1 will be jailed to this specific directory... DefaultRoot /srv/www/domain.com group1 # ...while all other users get their own home directory DefaultRoot /home/%u/test
DefaultRoot (而不是用户名)使用组名称的原因是可以使用组名来一次覆盖/处理大量的用户,而不需要为每个用户指定许多单独的DefaultRoot指令。
这在ProFTPD的Chroot howto中有更详细的介绍。
希望这可以帮助!