linux - 如何在没有密码的情况下以另一个用户身份运行脚本?

我有必须以 user2 身份运行的 script.sh。但是,此脚本只能在我的应用程序中的 user1 下运行。

我想运行以下命令:

su user2 -C script.sh

但无需密码也能运行。

我也希望这是非常严格的,因为 user1 只能在 user2 下运行 script.sh 而不能运行其他任何东西。

我已经尝试使用 sudoers 文件执行此操作,但经过数小时的尝试后,我一直感到困惑。

如果有人可以提供一个明确的示例来说明如何实现这一点(而不是像使用 sudoers 这样的通用示例),我们将不胜感激。

最佳答案

尝试运行:

su -c "Your command right here" -s /bin/sh username

这将作为用户名运行命令,前提是您有权以该用户身份使用 sudo。

https://stackoverflow.com/questions/6905697/

相关文章:

linux - 如何打印 ld(linker) 搜索路径

linux - 在 Ubuntu 中轻松更改 $JAVA_HOME

python - matplotlib 错误 - 没有名为 tkinter 的模块

python - Argparse:在 "optional arguments"下列出的必需参数?

python - 如何在 Python 中将字符串转换为 utf-8

c - 在 Linux 中测量时间 - 时间 vs 时钟 vs getrusage vs clock

linux - 如何在 Apache 服务器上自动将 HTTP 重定向到 HTTPS?

python - 我可以单独使用 Flask app.run() 为多个客户端提供服务吗?

linux - 在 bash 中创建临时文件

windows - 如何让 Windows 在编译 C++ 时与 Linux 一样快?