特定のユーザーのハウスキーピングを実行してからシャットダウンする夜間スクリプトがあります。シャットダウンにはroot権限が必要ですが、管理タスクはファイルがクリーンアップされているユーザーとして実行する必要があります。クリーンアップには時間がかかりませんので、クリーンアップとシャットダウンの両方が同じスクリプト内になければなりません。私の質問は、どのようにこれらの2つのコマンドでスクリプトをcronできるのですか?その最初のコマンドは通常のユーザー(Bobと言う)が実行する必要があります。最初の作業が完了した後でのみ、次の作業をroot(シャットダウン)として実行する必要があります。私はシステムのcrontab(これはBobとして管理者を実行できるが、その後はシャットダウンできない)を試してみた。 root crontab(シャットダウンはできますが、管理タスクはBobとして実行されません)。ヘルプは非常に高く評価されます。システムcrontab:rootとしてスクリプトを実行する方法とユーザーとして
0
A
答えて
0
sudo
を使用すると、別のユーザーとしてコマンドを実行できます。
私はDebianで次のように試しました。
次のスクリプトを記述しました。
#!/bin/bash
echo $HOME
そしてルートとして次のコマンドを実行します。 /home/nonrootuser
を印刷し、ルートは通常のユーザとして、ルートの両方として実行することができたことを示しているsome-admin-command
を実行
sudo -u nonrootuser ./script && some-admin-command
。したがって、script
にユーザハウスキーピングスクリプトを保存し、nonrootuser
をBobに、some-admin-command
をshutdownコマンドに置き換えてrootとして実行します。ファイルのcronジョブで
0
、あなたは、として次のコマンドをコマンドを実行することができます。
0 5 * * * sudo -u nonrootser -H bash script.sh && some-command-another
そして、あなたは、次のように含まれるファイルscript.shを書き込むことができます。
#!/bin/bash
echo "Hello World"
関連する問題
- 1. rootとして実行されるシェル・スクリプトからoracleユーザーとしてoracleスクリプトを実行します。
- 2. パスワードなしで別のユーザーとしてスクリプトを実行する方法
- 3. Docker Containerとは異なるユーザーとしてコマンド/スクリプトを実行
- 4. powershellスクリプト内でdifferendユーザーとしてバッチスクリプトを実行します。
- 5. Pythonスクリプトのシステム引数としてbash変数を実行しています
- 6. Jenkinsでrootとしてスクリプトを実行する方法は?
- 7. PythonスクリプトをLinuxのサービスとして実行する方法
- 8. UBUNTUのサービスとしてスクリプトを実行する方法
- 9. JenkinsのジョブとしてPowerShellスクリプトを実行する方法
- 10. 「システム」ユーザーとしてレジストリ値を更新する方法
- 11. PHPスクリプトを変更してPerlスクリプトとして実行する
- 12. 特定のユーザーとしてDjangoテストを実行する方法
- 13. バンドルを通常のユーザーとして実行する方法
- 14. 別のユーザーとしてcgiスクリプトを実行
- 15. Django Apache - ルートとしてスクリプトを実行
- 16. スクリプトとして実行可能なjinja2テンプレートを実行する
- 17. UNIXシステムにログインし、Windowsのジェンキンスを使ってスクリプトを実行する方法
- 18. PowerShellスクリプトを別のPowerShellスクリプトと異なるユーザーと非表示のウィンドウとして実行
- 19. execを別のユーザーとして実行
- 20. ユーザー "hudson"としてjenkinsを実行
- 21. Nginxを非rootユーザーとして実行
- 22. 実行時にrootとしてMPIを実行する方法/
- 23. ユーザー入力をパラメータとして使用する.pyスクリプトを実行する方法
- 24. python 3モジュールをシステム実行ファイルとしてインストールする
- 25. Apache2サーバーは特定のユーザーとしてスクリプトを実行します
- 26. サービスとしてWso2server.batとcarbon.batを実行する方法
- 27. Jenkinsから[ユーザー]として実行中
- 28. Linux Cプログラミングはユーザーとして実行
- 29. Selenium IDE Pythonスクリプトをテストスイートとして実行しようとしています
- 30. 起動時に管理者としてスクリプトを実行する方法