回答:
touch /var/spool/cron/crontabs/$username; chmod 0 /var/spool/cron/crontabs/$username
トリックを行う必要があります。chmod 600
andを使用して復元しtouch
ます(ファイルのmtimeを変更して、cronを再ロード(試行)する必要があります)。
少なくともDebianで、おそらくVixie cronを使用している場合chmod 400 /var/spool/cron/crontabs/$username
でも、この実装は許可を厳密に600にすることをcrontab
要求するため、このトリックも行います。ただし、これはユーザーがコマンドを実行するまで続きます。
あなたは堅牢な方法をしたい場合は、私はより良い一時的に邪魔にならない自分のcrontabを移動したり、権限を変更する、よりそこの何も考えていないと、一時的に追加します/etc/cron.deny
。
chmod
ます。
touch $username
後に追加しましたchmod
。しかし、それは助けにはなりませんでした。(ところであなたのポイントを得たcron.deny
)
chgrp root /var/spool/cron/crontabs
Debianを使用している場合、これはDebian AFAIKにのみ適用されます。
これを行うには、cronjobの名前にドットを追加します。
動作はDebian公式ドキュメントで言及されています:
https://www.debian.org/doc/debian-policy/#cron-job-file-names
cronジョブファイル名には、ピリオドまたはプラス文字(。または+)文字を含めないでください。これにより、cronはファイルを無視します。の代わりにアンダースコア(_)を使用する必要があります。および+文字。
すべてのcron
ジョブをしばらく完全に停止したい場合-たとえば、システムメンテナンスを行っている間、これらのジョブとの相互作用が悪い場合-コマンドは通常
systemctl stop crond.service
そして、再開する
systemctl start crond.service
これらを実行するにはルートまたはホイールの権限が必要だと思います。必要に応じて、sudo経由で実行するか、(最終手段)rootとしてログインします。
提起された特定の質問に対するやり過ぎですが、「ワンストップショッピング」を提供し、ファイルシステムまたは一時ファイルで遊ぶ必要はありません。
-u user
スイッチを使用して、特定のユーザーに対して無効にするジョブの前にコメント文字を配置することはできませんか?crontab
#