1

特定のユーザーのハウスキーピングを実行してからシャットダウンする夜間スクリプトがあります。シャットダウンにはroot権限が必要ですが、管理タスクは、ファイルがクリーンアップされているユーザーとして実行する必要があります。クリーンアップの実行には定義できない時間がかかるため、クリーンアップとシャットダウンの両方を同じスクリプトで実行する必要があります。私の質問は、これら2つのコマンドを使用してスクリプトをcronする方法です。最初のコマンドは、通常のユーザー(Bobなど)が実行する必要があります。そして次は、最初が完了した後にのみルート(シャットダウン)として実行する必要があります。私はシステムcrontabを試しました(管理者をBobとして実行できますが、シャットダウンできません)。ルートcrontabとして(シャットダウンはできますが、管理タスクをボブとして実行することはできません)。助けていただければ幸いです。

4

2 に答える 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として実行します。nonrootusersome-admin-command

于 2012-04-26T09:54:15.543 に答える