我在的crontab的职位列表user1,user2。我想阻止user2运行的作业。
我试着列出user2在cron.deny访问他,但这只能使他crontab。在列出的职位user2的crontab仍得到执行。
如何为特定用户禁用 cron 作业?
蛮力!
crontab -u fred -e
%s/^/#/
:wq
Run Code Online (Sandbox Code Playgroud)
可能有一种更优雅的方法来做到这一点,但除非您一直这样做,否则请使用您拥有的锤子。
小智 5
禁用特定用户的 crontab 的最简单方法是找到她的crontab并重命名它。Debian 的cron手册页显示:
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.
Run Code Online (Sandbox Code Playgroud)
因此,只需将文件重命名为密码中没有的名称,通常是为其添加后缀,如disabled、offline或dead类似名称。
mv -vi /var/spool/cron/crontabs/user2 /var/spool/cron/crontabs/user2.disabled
Run Code Online (Sandbox Code Playgroud)
在 Debian(以及 Ubuntu 等相关系统)上,这会在 中生成以下条目/var/log/syslog:
(user2.disabled) ORPHAN (no passwd entry)
Run Code Online (Sandbox Code Playgroud)
确保也添加user2到文件中/etc/cron.deny,否则用户将能够为自己创建一个新的 crontab。
通过删除条目并重命名用户的 crontab 来/etc/cron.deny重新启用用户的 crontab:
mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23122 次 |
| 最近记录: |