以不具有sudo / su权限的其他用户身份运行脚本

时间:2011-09-15 21:03:29

标签: ssh sudo setuid su

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

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

2 个答案:

答案 0 :(得分:0)

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

ssh -i user1_id_rsa user1@server

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

答案 1 :(得分:0)

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