如何将用户locking到目录(而不是SSH)

我有一些普通的用户,他们没有 SSH进入机器,而是直接访问机器。 我怎样才能locking他们的主目录或任何目录? 目前他们可以成功运行rm -rf / 。 他们也可以运行各种危险的命令。 我通常使用SSHconfiguration来locking它们,但这不是这种情况。

在我的情况下,用户通过Web界面访问命令行。 这是一个docker集装箱,一旦用户完成,它将被移除。 我试图阻止用户“逃离”容器,因为docker集装箱不一定像虚拟机一样“安全”。

对于你的具体情况,chroot是没用的。 Docker容器的安全性不如完全仿真的虚拟机,但Docker仍然比普通的Chroot安全得多。 所以,如果你有一个能够摆脱docker工人的用户,一个直接的chroot是不会放慢速度的。

这就是说,有一种方法可以做你所描述的: pam-chroot 。 它在tin上做了如下的事情:在login过程中,如果用户在相关的组中或其他地方,它会将chroot()调用到指定的目录中。 作为PAM,它的设置过于复杂,但是它足够灵活(例如),只有当用户在星期四恰好是满月的情况下login控制台时,才能根据某些用户进行chroot操作。