GNU/Linux 中的“从属”用户帐户

GNU/Linux 中的“从属”用户帐户

如何使一个用户帐户像root其他用户帐户一样,例如能够读取、写入、chmod 其所有文件、从此帐户 chown 到 master 并返回、kill/ptrace 其所有进程以及所有认为root可以的操作,但仅限于该特定slave帐户?

sudo -u slaveuser现在我通过允许“主”用户和设置来模拟这一点setfacl -dRm u:masteruser:rwx ~slaveuser

它很有用,因为我在单独的用户帐户中运行大多数桌面程序,但有时需要在它们之间移动文件。

如果它需要一些简单的内核补丁那就没问题。

PS 标签“selinux”并不意味着我想使用 SELinux 来解决它,它只是有点相关。

答案1

传统的 unix 安全模型根本无法支持您想要的功能。root可以做任何事情,并且所有其他用户都是平等的。用户之间的复杂关系往往需要大量的工作root

一种可行的方法是在某种虚拟机中重新创建您自己的 Linux 系统,可以使用 Linux-on-Linux 方法(例如用户模式 ​​Linux 或 VServer),也可以使用通用虚拟机(例如 qemu/kvm 或 virtualbox)。在 VM 中,您将拥有 root 访问权限,并且能够轻松地以不同用户身份运行每个应用程序。

您甚至可以在单独的轻量级虚拟机中运行每个应用程序(VServer 可能是最适合这种情况的)。OLPC(每个孩子一台笔记本电脑)项目尝试了它,发现性能令人满意,但后来放弃了这个想法,我不知道为什么(也许应用程序之间共享数据太麻烦了?)。

相关内容