如何将用户锁定在目录中(非 SSH)

如何将用户锁定在目录中(非 SSH)

我有一些常规用户不是通过 SSH 连接到一台机器,但直接访问该机器。我如何将它们锁定到其主目录或任何目录中?目前,它们可以成功运行rm -rf /。它们还可以运行各种危险命令。我通常使用 ssh 配置将它们锁定,但情况并非如此。

在我的情况下,用户通过 Web 界面访问命令行。这是一个 Docker 容器,用户使用完后会立即删除。我试图阻止用户“逃离”容器,因为 Docker 容器不一定像虚拟机那样“安全”。

答案1

对于您的特定情况,chroot 是无用的。虽然 docker 容器不如完全模拟的 VM 安全,但 docker 仍然比普通的 chroot 安全得多。因此,如果您有一个能够摆脱 docker 的用户,那么直接 chroot 不会减慢他们的速度。

话虽如此,执行您所描述的操作的方法:pam-chroot。它的功能与它的名字一致:在登录过程中,chroot()如果用户属于相关组或其他什么,它会调用指定的目录。作为 PAM,它的设置过于复杂,但它足够灵活,例如,仅当某些用户在恰好是满月的星期四登录控制台时,才对其进行 chroot。

相关内容