登录后将用户关押在自定义目录中

登录后将用户关押在自定义目录中

我的系统中有 3 个用户:

  • 用户1
  • 用户2
  • 用户3

我在 ubuntu 14.04 上安装了 proftpd。使用DefaultRoot指令我可以将用户关在特定目录中,例如 /home/%u/test

但是如果我只需要为一个用户设置目录 /srv/www/domain.com (例如:user1),该怎么办?

答案1

您必须使用 mount --bind 来欺骗它,就像您想要在该目录中的用户一样

 mount --bind /srv/www/domain.com /home/user1/test/domain.com

答案2

您还可以使用可选的组参数DefaultRoot指令。例如,假设每个用户都属于同名的组:

  • 用户1 属于组1
  • 用户2 属于组2
  • 用户3属于组3

DefaultRootProFTPD按照其配置文件中出现的顺序评估指令,并使用第一个匹配的指令chroot。因此,您可以使用以下配置,仅为用户 1使用不同的目录:

# 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 指南

希望这可以帮助!

相关内容