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タスクを実行しているので、必要に応じてshellasroot
Pythonスクリプトを入力し、rootパスワードを入力してコマンドを実行できますが、プログラムでこれを行う方法を探しています。
重要な要約 - sudo 権限のないアカウントのルートとして 1 行でシェルスクリプトを実行する必要があります。
答え1
-c
オプションを使用してsu
個々のコマンドを渡すことができます。
su root -c 'sh /home/jay/script-that-needs-executing-as-root.sh'