檢查一臺ORACLE資料庫伺服器的crontab作業(用戶為oracle,實際環境中可能為oracle、也有可能是其它用戶)時,發現出現下麵提示信息: $ crontab -l You (oracle) are not allowed to use this program (crontab) Se... ...
檢查一臺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 就能看到設置的作業了。