在(大多数)Linux 系统上,我们可以su
通过将特定用户放入 wheel 组并在 中进行一些设置来让其成为任何他们想要的用户/etc/pam.d/su
。
我想做一些更有限的事:我想让某个用户 user1 能够“成为”(如su
)另一个特定用户 user2,而没有 - 但只有这一对。即,user1 不应该能够成为他们想要的任何人,其他用户也不能被允许成为 user2。
这可以做到吗?如果可以的话,最不丑陋的方法是什么?
注意:假设我有 root 权限。如果 user2 和 user1 可以在没有 root 权限的情况下以某种方式完成此操作,那就太好了,但我对此表示怀疑。
答案1
sudo
已经可以做到这一点。一个简单的示例让 user1 使用 sudo 访问 user2 并运行任何命令:
user1 ALL=(user2) NOPASSWD: ALL
例子:
以 user2 身份运行命令:
sudo -u user2 ls
获取交互式 shell:
sudo -i -u user2