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