代码改变世界

You (oracle) are not allowed to use this program (crontab)

2020-02-15 23:13  潇湘隐者  阅读(...)  评论(...编辑  收藏

 

检查一台ORACLE数据库服务器的crontab作业(用户为oracle,实际环境中可能为oracle、也有可能是其它用户)时,发现出现下面提示信息:

 

$ crontab -l

You (oracle) are not allowed to use this program (crontab)

See crontab(1) for more information

 

遇到这种情况,一般是oracle用户被禁止使用crontab指令,需要检查两个配置文件/etc/cron.deny和/etc/cron.allow

 

 

 

/etc/cron.deny        # 该文件中所列用户不允许使用crontab命令

/etc/cron.allow    # 该文件中所列用户允许使用crontab命令

 

 

检查的具体信息如下所示:

 

# more /etc/cron.deny

#

# more /etc/cron.allow

root

tomcat

#

 

在/etc/目录下,可能默认会有cron.allow以及cron.deny文件,也可能没有,没有的情况下可以自己创建,cron.allow文件中包含了可以使用crontab命令的用户名,cron.deny文件中包含了不可以使用crontab命令的用户名。两个文件中每个用户名占一行,并且不允许出现空格。

 

注意事项:root用户在任何情况下都可以使用crontab命令。

           假如cron.allow配置文件存在,则只有列在这个文件中的用户名可以使用cron,这时候cron.deny被忽视。

           假如cron.allow不存在,则列在cron.deny文件中的用户名不可以使用cron。

 

那么出现这种情况是因为同事设置过配置文件/etc/cron.allow,所以只需在/etc/cron.allow中配置oracle用户即可解决问题。

 

 

# echo oracle > /etc/cron.allow

 

 

然后使用 crontab -l 就能看到设置的作业了。