Сегодня выяснилось, что в Экзадате не удается создать задание для cron:
[root@ed01db01 etc]# su - oracle
[oracle@ed01db01 ~]$ crontab -l
You (oracle) are not allowed to use this program (crontab)
See crontab(1) for more information
Причем, эта беда наблюдается не только под пользователем oracle, но и под другими:
[root@ed01db01 pam.d]# useradd yu
[root@ed01db01 pam.d]# su - yu
[yu@ed01db01 ~]$ crontab -l
You (yu) are not allowed to use this program (crontab)
Металинк дает свои дельные советы, которые тоже не работают :
Non Root Users Are Unable To Create Crontab Entries [ID 1268765.1]
Cron Scripts Might Not Be Executed After A Fresh Install On Exadata [ID 1323999.1]
Все оказалось примитивно просто: для решения проблемы достаточно добавить oracle в /etc/cron.allow !
Вспоминаем основы:
You can execute crontab if your name appears in the file /etc/cron.allow.
If that file does not exist, you can use crontab if your name does not appear in the file /etc/cron.deny.
If only cron.deny exists and is empty, all users can use crontab.
If neither file exists, only the root user can use crontab.
If that file does not exist, you can use crontab if your name does not appear in the file /etc/cron.deny.
If only cron.deny exists and is empty, all users can use crontab.
If neither file exists, only the root user can use crontab.
It helps to be able to read the /etc/cron.allow file. Try
ReplyDeletechmod 644 /etc/cron.allow
thanks ...it worked
ReplyDelete