【发布时间】:2011-09-15 21:03:29
【问题描述】:
我正在尝试编写一个脚本,以便一个用户可以调用它并作为另一个用户执行。我认为 setuid 可能能够做到这一点,所以我使用 chmod u+s 启用了 setuid,脚本的所有者是 user1。我将脚本(现在只包含 whoami)称为 user2,它仍然显示 user2 而不是 user1。我怎样才能使它成为 user1。
-- 我的最终结果是我希望一个用户能够调用此脚本并将其 ssh 到另一台服务器并以另一个用户的身份执行命令。
【问题讨论】:
-
为什么必须以其他用户的身份执行脚本?是不是因为你想使用那个用户的 SSH 密钥来登录服务器?
-
没错。甚至能够获取该用户的密钥并按照他们的工作方式登录。
-
你不能只允许实际用户通过将他的 SSH 密钥添加到服务器用户的授权密钥来登录服务器吗?
-
我宁愿不考虑将密钥推送到 100 多台服务器。
-
是的,
setuid以所有者的权限而不是他们的身份运行脚本。