我确定这个问题以前已经回答过,但我找不到我喜欢的答案。我想编写一个 shell 脚本,以另一个用户的身份执行一个非常具体的脚本(我希望任何人都能够以 postgres 用户的身份启动 postgres)。该脚本将具有 710 个权限,因此它可以由某个组执行,但不能由该组读取或写入。
现在,我很确定没有交互式密码提示就无法使用“su”。这有很多很好的理由,我不需要相信这些理由的优点(有人告诉我,比我更精明的人可以从进程列表中获取密码,这很糟糕)。
问题是,更一般地说,我将如何在不滥用 unix 安全范式的情况下完成我想做的事情?有没有办法让用户以另一个用户的身份执行一个非常具体的过程?