我正在尝试编写一个脚本,以便一个用户可以调用它并作为另一个用户执行。我认为setuid可能能够这样做所以我使用chmod u + s启用了setuid,脚本的所有者是user1。我将脚本(现在只包含whoami)称为user2,它仍然显示user2而不是user1。我怎样才能成为user1。
- 我的最终结果是我希望一个用户能够调用此脚本并将其ssh到另一个服务器并以另一个用户身份执行命令。
答案 0 :(得分:0)
您可以复制该用户的密钥(id_rsa
),并在连接到服务器时将其传递给ssh
:
ssh -i user1_id_rsa user1@server
然而,从安全角度来看,这是一个糟糕的解决方案。正如我在评论中所说的那样,将用户密钥添加到服务器上的授权密钥是正确的方法,你应该真正研究它。
答案 1 :(得分:0)
听起来你需要安全模型中的第三个用户,谁可以运行程序,但是没有特权。该第三个用户是许多用户的可假设身份,因此他们可以在远程服务器上运行该进程。