特定のユーザーのハウスキーピングを実行してからシャットダウンする夜間スクリプトがあります。シャットダウンにはroot権限が必要ですが、管理タスクは、ファイルがクリーンアップされているユーザーとして実行する必要があります。クリーンアップの実行には定義できない時間がかかるため、クリーンアップとシャットダウンの両方を同じスクリプトで実行する必要があります。私の質問は、これら2つのコマンドを使用してスクリプトをcronする方法です。最初のコマンドは、通常のユーザー(Bobなど)が実行する必要があります。そして次は、最初が完了した後にのみルート(シャットダウン)として実行する必要があります。私はシステムcrontabを試しました(管理者をBobとして実行できますが、シャットダウンできません)。ルートcrontabとして(シャットダウンはできますが、管理タスクをボブとして実行することはできません)。助けていただければ幸いです。
質問する
1818 次
2 に答える
0
sudo
別のユーザーとしてコマンドを実行するために使用できます。
Debianで次のことを試しました。
以下を含むスクリプトを作成しました。
#!/bin/bash
echo $HOME
そして、rootとして次のコマンドを実行しました。
sudo -u nonrootuser ./script && some-admin-command
どちらを印刷/home/nonrootuser
して実行したかsome-admin-command
これは、rootが通常のユーザーとrootの両方として実行できたことを示しています。したがって、ユーザーのハウスキーピングスクリプトをに保持し、をBobscript
に置き換え、shutdownコマンドに置き換えて、rootとして実行します。nonrootuser
some-admin-command
于 2012-04-26T09:54:15.543 に答える