Sudo

su 以 root 身份並在一行中執行命令

  • July 19, 2016

我需要以 root 身份 su 並將命令作為單行執行。這是在 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 腳本。

您可以使用-c選項su傳遞單個命令。

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

引用自:https://unix.stackexchange.com/questions/296913