如何正确创建 chroot jail(在 Ubuntu 或其他一些 Linux 上,如果不适用)以使用户能够编辑系统设置(例如 with ifconfig
)并能够与外部脚本通信?
用例是使用户能够使用 SSH 进行身份验证,然后能够从命令行执行非常有限的一组操作。不幸的是,棘手的部分是访问系统设置。
我考虑了多种选择,另一种选择是设置假 SSH 服务器(例如使用 Twisted),尝试使用受限 shell(但是,我似乎仍然需要 chroot),或者在 shell 之上编写脚本(?)。
如何正确创建 chroot jail(在 Ubuntu 或其他一些 Linux 上,如果不适用)以使用户能够编辑系统设置(例如 with ifconfig
)并能够与外部脚本通信?
用例是使用户能够使用 SSH 进行身份验证,然后能够从命令行执行非常有限的一组操作。不幸的是,棘手的部分是访问系统设置。
我考虑了多种选择,另一种选择是设置假 SSH 服务器(例如使用 Twisted),尝试使用受限 shell(但是,我似乎仍然需要 chroot),或者在 shell 之上编写脚本(?)。
假设您的意思
ifconfig
是,我认为这不是一个chroot
非常适合的场景。您最好允许用户正常登录,依靠正常的系统保护(在 UNIX/Linux 上非常成熟)来防止它们被意外破坏,然后用于sudo
提供对相关系统命令的细粒度访问. 如果他们也做一些事情,审计追踪会更好。如果您真的感到偏执,这可以与受限外壳结合使用。从威胁分析的角度来看,我想不出任何类型的攻击者可以通过给予他们
chroot
+full-privileged-来合理地受到保护ifconfig
。编辑:如果我是你,我会推回那个约束;我看不出它有多大意义。试图向可以执行系统级任务的人隐藏系统详细信息可能无法对抗任何聪明的攻击者。