0

我正在尝试编写一个脚本,以便它可以由一个用户调用并作为另一个用户执行。我认为 setuid 可能能够做到这一点,所以我使用 chmod u+s 启用了 setuid,脚本的所有者是 user1。我将脚本(现在只包含 whoami)称为 user2,它仍然显示 user2 而不是 user1。我怎样才能使它成为user1。

-- 我的最终结果是我希望一个用户能够调用此脚本并将其 ssh 到另一台服务器并以另一个用户的身份执行命令。

4

2 回答 2

0

您可以复制该用户的密钥 ( id_rsa) 并ssh在连接到服务器时将其传递给:

ssh -i user1_id_rsa user1@server

但是,从安全角度来看,这是一个相当糟糕的解决方案。正如我在评论中所说,将用户的密钥添加到服务器上的授权密钥是正确的方法,您应该真正研究一下。

于 2011-09-16T15:14:36.693 回答
0

听起来您的安全模型中需要第三个用户,该用户可以运行该程序,但在其他方面没有特权。这第三个用户是许多用户的假定身份,因此他们可以在远程服务器上运行该进程。

于 2015-12-30T15:59:37.463 回答