Su 作为 root 并在一行中运行命令

Su 作为 root 并在一行中运行命令

我需要以 root 身份运行并以一行形式运行命令。这是用于 python 脚本的。我正在寻找的是:

$ su root [some-magic] sh /home/jay/script-that-needs-executing-as-root.sh
<script output>

这是在公共 ubuntu 服务器上。将运行的帐户没有密码,但已设置,因此基本上所有内容都无法访问,除了只读的 python 脚本之外,在 ~/.profile 中,最后是

cd ~/py/main
python3 start.py
logout

所以他们没有真正访问服务器的权限。在 python 脚本中,我已经让 su 工作了,所以如果需要,用户可以输入shellasrootpython 脚本,输入 root 密码并运行命令,但我正在寻找一种以编程方式执行此操作的方法。


TL; DR - 在没有 sudo 权限的帐户上,我需要以 root 身份在一行中运行 shell 脚本。

答案1

您可以使用-c选项来su传递单个命令。

su root -c 'sh /home/jay/script-that-needs-executing-as-root.sh'

相关内容