crontab 用来任务定时调度,在 Linux 下可以通过创建文件 /etc/cron.allow 或者 /etc/cron.deny 来控制权限,如果 /etc/cron.allow 文件存在,那么只有这个文件中列出的用户可以使用 cron, 同时/etc/cron.deny文件被忽略; 如果 /etc/cron.allow 文件不存在,那么文件 /cron.deny 中列出的用户将不能用使用 cron。 下面简单演示下限制用户使用 crontab 命令的情况。
1 修改文件 /etc/cron.deny
1 |
[root@pgb etc]# ll /etc/cron.deny |
备注:添加要限制的用户,只需要写入用户名即可。
2 /etc/cron.deny 文件内容
1 |
[root@pgb etc] |
3 重启 crond 服务
1 |
[root@pgb cron]# service crond status |
4 切换到 postgres 用户测试
1 |
[root@pgb ~]# su - postgres |
备注:切换到 postgres 用户后,就不能使用 crontab 命令了。
5 /var/log/cron 日志信息
1 |
Feb 12 21:46:25 pgb crontab[6209]: (postgres) AUTH (crontab command not allowed) |
6 crontab 内容存放目录
1 |
[root@pgb etc]# ll /var/spool/cron |
7 root 用户的 crontab
1 |
[root@pgb etc]# crontab -l |
8 其它说明
如果用户创建 crontab 任务,在脚本中应指定 SHELL,PATH,HOME 变量, 否则很容易出现脚本,命令找不到的情况。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/237823.html