oracle數據庫普通用戶無法使用crontab故障排除
發布時間:2023-10-18
今天發現普通用戶oracle無法使用crontab,無權限編輯crontab內容,詳細報錯如下:
[oracle@strong rm_archive]$ vi delarchive.sh
[oracle@strong rm_archive]$ crontab -l
no crontab for oracle
[oracle@strong rm_archive]$ crontab -e
no crontab for oracle - using an empty one
crontab: installing new crontab
/var/spool/cron/#tmp.emrsvr.XXXXwAmmpz: Permission denied
crontab: edits left in /tmp/crontab.WditWO
檢查發現是 /usr/bin/crontab 的屬性有問題,沒有給予它s屬性,
因此低權限有誤就無法使用crontab來往/var/spool/cron下寫入文件
(即使把/var/spool/cron的權限設置為777,也一樣會提示 chown:沒有權限操作)
解決辦法:
[root@strong ~]# ls `which crontab` -al
-rwxrwxr-x. 1 root root 57552 Feb 23 2016 /usr/bin/crontab
[root@strong ~]# chmod u+s /usr/bin/crontab
[root@strong ~]# ls `which crontab` -al
-rwsrwxr-x. 1 root root 57552 Feb 23 2016 /usr/bin/crontab
驗證:
[oracle@strong ~]$ crontab -l
00 11 * * * /home/oracle/rm_archive/delarchive.sh
[oracle@strong rm_archive]$ vi delarchive.sh
[oracle@strong rm_archive]$ crontab -l
no crontab for oracle
[oracle@strong rm_archive]$ crontab -e
no crontab for oracle - using an empty one
crontab: installing new crontab
/var/spool/cron/#tmp.emrsvr.XXXXwAmmpz: Permission denied
crontab: edits left in /tmp/crontab.WditWO
檢查發現是 /usr/bin/crontab 的屬性有問題,沒有給予它s屬性,
因此低權限有誤就無法使用crontab來往/var/spool/cron下寫入文件
(即使把/var/spool/cron的權限設置為777,也一樣會提示 chown:沒有權限操作)
解決辦法:
[root@strong ~]# ls `which crontab` -al
-rwxrwxr-x. 1 root root 57552 Feb 23 2016 /usr/bin/crontab
[root@strong ~]# chmod u+s /usr/bin/crontab
[root@strong ~]# ls `which crontab` -al
-rwsrwxr-x. 1 root root 57552 Feb 23 2016 /usr/bin/crontab
驗證:
[oracle@strong ~]$ crontab -l
00 11 * * * /home/oracle/rm_archive/delarchive.sh