Su rootとしてログインし、1行でコマンドを実行します。

Su rootとしてログインし、1行でコマンドを実行します。

rootとして実行し、1行でコマンドを実行する必要があります。これはPythonスクリプト用です。私が探しているもの:

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

これはパブリックUbuntuサーバーにあります。実行するアカウントにはパスワードはありませんが、デフォルトでは〜/ .profileにある読み取り専用Pythonスクリプトを除くすべてのエントリにアクセスできないように設定されています。

cd ~/py/main
python3 start.py
logout

したがって、彼らは実際にサーバーにアクセスできません。 Pythonスクリプトはすでにsuタスクを実行しているので、必要に応じてshellasrootPythonスクリプトを入力し、rootパスワードを入力してコマンドを実行できますが、プログラムでこれを行う方法を探しています。


重要な要約 - sudo 権限のないアカウントのルートとして 1 行でシェルスクリプトを実行する必要があります。

答え1

-cオプションを使用してsu個々のコマンドを渡すことができます。

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

関連情報