以与 bash 脚本不同的用户身份运行命令

以与 bash 脚本不同的用户身份运行命令

我有 2 个用户:usr1 和 usr2。两者都不是 root 用户。

usr1 启动 bash 脚本。从脚本中,我想以 usr2 身份运行一些命令。据我了解,这样做的方法是:

su -l <usr2> -c "command"

问题在于传递密码。这是两个具有不同权限的不同用户,因此,跳过 usr2 的密码不是一个选项。

该脚本可以进行交互,并询问用户密码。有没有办法在 bash 脚本中做到这一点?

答案1

为什么不设置 sudoers 文件,以便用户 1 可以 sudo 到用户 2,但只运行该命令(没有密码)?这仍然能满足您的安全担忧吗?

我认为 sudoers 会是这样的

用户名主机名 = NOPASSWD: /path/to/command

相关内容