Rootユーザーとしてのみ実行できる特定の端末コマンドがあります。 Sudo
キーワードなしで実行しようとすると、Permission denied
エラーで失敗します。例は、特定の場所にディレクトリ/フォルダを作成するコマンドです。
Ubuntu 16.04では、cronジョブの一部としてこのようなコマンドを実行する必要があります。通常、ターミナルでSudo
キーワードを使用してコマンドを実行すると、rootユーザーのパスワードの入力を求められ、コマンドが正常に実行されます。
しかし、今ではcrontab
ファイルにcronジョブの一部としてこのコマンドを入力する必要がありますが、どうすればよいですか? cronjobの一部としてこのようなコマンドを実行するにはどうすればよいですか?
単にcrontab -e
をroot userとして実行します。これはrootパーミッションでコマンドを実行し、その前にSudo
を追加する必要はありません。
ただし、rootユーザーでログインすることはできず、cronファイルでフルパスを指定する必要があるcronジョブとしてジョブを実行する必要があります。
$ * * * * * /usr/bin/Sudo /your/command
また、/etc/sudoers
ファイルのコマンドの前にNOPASSWD
を追加して、パスワードなしでrootとしてコマンドを実行できます。
別のオプションは、/etc/crontab
のシステム全体のcrontab(または/etc/cron.d
のファイル)に配置することです。ここで、各タスクを実行するユーザーを指定できます。
* * * * * root mkdir /foo/bar