特定のユーザーの cron ジョブを無効にする

特定のユーザーの cron ジョブを無効にする

、のジョブのリストが crontab にありますuser1user2のジョブがuser2実行されないようにしたいです。

user2にリストを登録しようとしましたcron.denyが、 にアクセスできなくなるだけです。にcrontabリストされているジョブは引き続き実行されます。user2crontab

特定のユーザーの cron ジョブを無効にするにはどうすればいいですか?

答え1

強引な!

crontab -u fred -e
%s/^/#/
:wq

おそらくもっとエレガントな方法があるでしょうが、これを常に行うのでなければ、お持ちのハンマーを使用してください。

答え2

特定のユーザーのcrontabを無効にする最も簡単な方法は、そのユーザーのクローンタブ名前を変更してください。Debianのマニュアルページクローン言う:

cron searches its spool  area  (/var/spool/cron/crontabs)  for  crontab
files  (which  are named after accounts in /etc/passwd); crontabs found
are loaded into memory.

disabledしたがって、通常は、offlineなどのサフィックスを付けて、ファイルの名前を passwd にない名前に変更しますdead

mv -vi /var/spool/cron/crontabs/user2 /var/spool/cron/crontabs/user2.disabled

Debian (および Ubuntu などの関連システム) では、次のエントリが生成されます/var/log/syslog

(user2.disabled) ORPHAN (no passwd entry)

必ずuser2ファイルにも追加してください/etc/cron.deny。そうしないと、ユーザーが自分用に新しい crontab を作成できるようになります。

ユーザーの crontab からエントリを削除し/etc/cron.deny、名前を変更して、ユーザーの crontab を再度有効にします。

mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2

答え3

削除/var/spool/cron/user1またはuser2?これらのユーザー名も追加する必要があります。/etc/cron.denyそうしないと、それらのcronジョブが再度追加される可能性があります。

答え4

特定のユーザーの crontab ジョブをブロックする場合は、root ユーザーでログインしていることを確認してください。root ユーザーのみが crontab ファイルにアクセスできます。1. 次に、このディレクトリの dir /etc/cron.d に移動して、cron.deny ファイルを確認します。vi エディターなどを使用して、ブロックする特定のユーザー名を入力します。

関連情報