Rootとしてsuを実行し、コマンドを1行で実行する必要があります。これは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スクリプト内で動作しているので、必要に応じて、ユーザーはshellasroot
をpythonスクリプトに入力し、ルートを入力できます。パスワードとコマンドを実行しますが、プログラムでこれを行う方法を探しています。
TL; DR-Sudo権限のないアカウントで、rootとしてシェルスクリプトを1行で実行する必要があります。
su
の-c
オプションを使用して、単一のコマンドを渡すことができます。
su root -c 'sh /home/jay/script-that-needs-executing-as-root.sh'