在login时使用户在自定义目录中

我的系统中有3个用户:

  • USER1
  • 用户2
  • 用户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指令的可选组参数。 例如,假设您的每个用户都属于一个同名的组:

  • user1属于group1
  • user2属于group2
  • user3属于group3

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中有更详细的介绍。

希望这可以帮助!