[root@riyimei ~]# ll /etc/cron
cron.d/ cron.deny cron.monthly/ cron.weekly/
cron.daily/ cron.hourly/ crontab
[root@riyimei ~]# cat /etc/cron.deny
[root@riyimei ~]# touch /etc/cron.allow
[root@riyimei ~]#
[root@riyimei ~]# ll /etc/cron.allow
-rw-r----- 1 root root 0 Jul 15 01:45 /etc/cron.allow
[root@riyimei ~]# su - liwm
Last login: Wed Jul 15 01:02:54 CST 2020 on pts/1
[liwm@riyimei ~]$
[liwm@riyimei ~]$ crontab -e
You (liwm) are not allowed to use this program (crontab)
See crontab(1) for more information
[liwm@riyimei ~]$ exit
logout
[root@riyimei ~]# echo "liwm" >> /etc/cron.allow
[root@riyimei ~]# su - liwm
Last login: Wed Jul 15 01:45:47 CST 2020 on pts/1
[liwm@riyimei ~]$ crontab -e
no crontab for liwm - using an empty one
crontab: no changes made to crontab
[liwm@riyimei ~]$
cron.allow:定义允许使用crontab命令的用户
cron.deny:定义拒绝使用crontab命令的用户
这两个文件有优先级,普通用户在执行crontab命令的时候
1、系统先检测cron.allow文件是否存在;如果存在,则检测文件中存在的用户中是否有当前用户,检测通过则开始执行,检测不通过直接提示该用户没有执行权限
2、当系统没有检测到cron.allow文件存在的时候,则接下来检测cron.deny文件,看当前用户是否被deny掉,如果没有在cron.deny文件中检测到当前运行crontab的用户,则该命令可以成功执行,如果有检测到该用户在cron.deny文件中,则直接提示该用户没有执行权限
案例1:只允许root和www用户执行crontab命令,其他用户则禁止执行
在需要定义该策略的主机上面执行:
echo “www” > /etc/cron.allow
案例2:只拒绝anonymous用户执行crontab命令,其他用户都可以执行该命令:
rm -f /etc/cron.allow
echo “anonymous” > /etc/cron.deny