前言:
眼前朋友们对“oracle里面执行命令”大概比较珍视,朋友们都需要知道一些“oracle里面执行命令”的相关内容。那么小编在网络上搜集了一些有关“oracle里面执行命令””的相关文章,希望你们能喜欢,姐妹们一起来了解一下吧!概述
最近在用oracle用户添加备份计划任务(crontab -e),提示:You (oracle) are not allowed to access to (crontab) because of pam configura,考虑到在某些环境还是比较常见的,所以简单记录下~
解决思路如下:
1、查看/bin/crontab的SSID位是否标记S
可以发现已经标记S,没有问题
2、检查cron
定时任务没特殊设置
说明: 只有cron.deny 文件,但文件无内容,不存在限制(如果存在cron.allow文件,以cron.allow文件优先;果如cron.allow和cron.deny都存在,以cron.allow文件优先;如果只有cron.deny 文件,只能以cron.deny 文件为准)
3、检查PAM模块
cat /etc/pam.d/crond,文件配置正常
4、查看系统日志
cat /var/log/secure
可以看到日志中报错:PAM unable to dlopen(/usr/lib64/security/pam_tally.so): /usr/lib64/security/pam_tally.so: cannot open shared object file: No such file or director
其实这个是因为没有/lib64/security/pam_tally.so共享对象文件
解决 办法:
将配置文件中的pam_tally.so修改为pam_tally2.so
vim /etc/pam.d/system-authauth required pam_tally2.so deny=5 unlock_time=600account required pam_tally2.so
5、查看oracle用户密码过期为90天
chage -M -l 99999 oracle
在修改oracle密码永不过期后就可以执行crontab -e 命令了
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~
标签: #oracle里面执行命令