如何正确创建 chroot jail(在 Ubuntu 上,或者如果不适用,则在某些其他 Linux 上)以使用户能够编辑系统设置(例如使用ifconfig
)并能够与外部脚本通信?
用例是让用户使用 SSH 进行身份验证,然后能够从命令行执行非常有限的操作。不幸的是,棘手的部分是访问系统设置。
我已经考虑了多种选择,替代方案是设置虚假的 SSH 服务器(例如。使用 Twisted),尝试使用受限 shell(不过我似乎仍然需要 chroot),或者在 shell 之上编写一个脚本(?)。
答案1
假设您的意思是ifconfig
,在我看来,这不是一个chroot
适合的场景。您最好允许用户正常登录,依靠正常的系统保护(在 UNIX/Linux 上非常成熟)来防止他们意外破坏,然后使用它们sudo
来提供对相关系统命令的细粒度访问权限。如果他们也犯错,审计跟踪会更好。如果您真的感到偏执,这可以与受限 shell 结合使用。
chroot
从威胁分析的角度来看,我认为通过赋予他们+fully-privileged- ,我们无法合理地防御任何类型的攻击者ifconfig
。
编辑:如果我是你,我会反对这一限制;我觉得这没什么意义。试图向能够执行系统级任务的人隐藏系统详细信息可能对任何聪明的攻击者都不起作用。