以特定用户身份运行脚本--取决于组成员身份

以特定用户身份运行脚本--取决于组成员身份

我正在尝试运行一个通过 SSH(通过 Pub/Priv 密钥)调用另一台服务器的脚本。但是,根据通过 sudo 运行脚本的用户(或者更确切地说,他/她的组成员身份),我希望以拥有适当密钥来访问服务器的用户身份调用该脚本。这样,用户就可以访问远程服务器,而无需看到密钥本身。

因此,有两个用户及其相关组:

  • 乔:部署生产
  • 约翰:deploy_acceptance

有没有办法:

  • 如果 Joe 运行该脚本,sudo script则该脚本在deploy_production用户
  • 如果 John 运行该脚本,则该脚本在用户sudo script下运行deploy_acceptance

注意:仅script应列入白名单,以阻止用户通过 sudo-cat 访问密钥文件。

注意:我不想使用-u <user>sudo 选项。

理由:这将为我提供轻松的访问控制,而不必将每个用户的 ssh 密钥放在允许他们访问的服务器上。因此,如果我想删除特定用户对服务器的访问权限,我会将他从其中一个组中移除。如果有比我提出的使用 sudo 的解决方案更好的方法,请提供建议。

相关内容