停用特定使用者的 cron 作業

停用特定使用者的 cron 作業

我在 crontab 中有一個作業列表,用於user1, user2。我想阻止 的作業user2運行。

我嘗試列出user2cron.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.

因此,只需將檔案重新命名為密碼中沒有的名稱,通常是為其添加後綴,如disabledofflinedead類似名稱。

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編輯器或其他方式輸入要封鎖的特定使用者名稱。

相關內容