web-dev-qa-db-ja.com

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

user1user2のc​​ronタブにジョブのリストがあります。 user2のジョブが実行されないようにしたい。

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

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

4
NOLFXceptMe

強引な!

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

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

5
RedGrittyBrick

特定のユーザーのcrontabを無効にする最も簡単な方法は、そのユーザーを見つけて名前を変更することですcrontabcronの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.

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

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を作成できます。

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

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

/var/spool/cron/user1またはuser2を削除しますか?また、これらのユーザー名を/etc/cron.denyに追加する必要があります。そうしないと、これらのcronジョブを追加し直すことができます。

1
Ask and Learn

crontab -r usernameはSolarisで動作し、特定のユーザー名のcrontabを削除します。

-rが機能しない場合は、次のことを試してください。

su username 'sh -c "crontab /dev/null"'

crontab -eよりも入力が速く、スクリプトが簡単です。

0
sig

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

0
karthik