我有 2 个用户:usr1 和 usr2。两者都不是 root 用户。
usr1 启动 bash 脚本。从脚本中,我想以 usr2 身份运行一些命令。据我了解,这样做的方法是:
su -l <usr2> -c "command"
问题在于传递密码。这是两个具有不同权限的不同用户,因此,跳过 usr2 的密码不是一个选项。
该脚本可以进行交互,并询问用户密码。有没有办法在 bash 脚本中做到这一点?
答案1
为什么不设置 sudoers 文件,以便用户 1 可以 sudo 到用户 2,但只运行该命令(没有密码)?这仍然能满足您的安全担忧吗?
我认为 sudoers 会是这样的
用户名主机名 = NOPASSWD: /path/to/command