
我在 crontab 中有一個作業列表,用於user1
, user2
。我想阻止 的作業user2
運行。
我嘗試列出user2
,cron.deny
但這只會阻止他訪問他的crontab
.user2
中所列的作業crontab
仍會被執行。
如何停用特定使用者的 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
或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。
透過刪除條目/etc/cron.deny
並重新命名使用者的 crontab 來重新啟用使用者的 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編輯器或其他方式輸入要封鎖的特定使用者名稱。