我需要以 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 工作了,所以如果需要,用户可以输入shellasroot
python 脚本,输入 root 密码并运行命令,但我正在寻找一种以编程方式执行此操作的方法。
TL; DR - 在没有 sudo 权限的帐户上,我需要以 root 身份在一行中运行 shell 脚本。
答案1
您可以使用-c
选项来su
传递单个命令。
su root -c 'sh /home/jay/script-that-needs-executing-as-root.sh'