概述
最近在用oracle用户添加备份计划任务(crontab -e),提示:You (oracle) are not allowed to access to (crontab) because of pam configura,考虑到在某些环境还是比较常见的,所以简单记录下~
![9ef5346c64558a69ff4ad266c4737d6e.png](https://img-blog.csdnimg.cn/img_convert/9ef5346c64558a69ff4ad266c4737d6e.png)
解决思路如下:
1、查看/bin/crontab的SSID位是否标记S
可以发现已经标记S,没有问题
![d89c6559facf964f0c3d6466ede005d7.png](https://img-blog.csdnimg.cn/img_convert/d89c6559facf964f0c3d6466ede005d7.png)
2、检查cron
定时任务没特殊设置
![004b29397ff8d6011d3b6c9816802f0a.png](https://img-blog.csdnimg.cn/img_convert/004b29397ff8d6011d3b6c9816802f0a.png)
说明: 只有cron.deny 文件,但文件无内容,不存在限制(如果存在cron.allow文件,以cron.allow文件优先;果如cron.allow和cron.deny都存在,以cron.allow文件优先;如果只有cron.deny 文件,只能以cron.deny 文件为准)
3、检查PAM模块
cat /etc/pam.d/crond,文件配置正常
![1daef876affda264ac3d6fb5e566a7d4.png](https://img-blog.csdnimg.cn/img_convert/1daef876affda264ac3d6fb5e566a7d4.png)
4、查看系统日志
cat /var/log/secure
![ca69b498d4486d53dbffb4a4805bbabd.png](https://img-blog.csdnimg.cn/img_convert/ca69b498d4486d53dbffb4a4805bbabd.png)
可以看到日志中报错: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
![08749510d84e7fdac940f70b45fce7ce.png](https://img-blog.csdnimg.cn/img_convert/08749510d84e7fdac940f70b45fce7ce.png)
5、查看oracle用户密码过期为90天
chage -M -l 99999 oracle
在修改oracle密码永不过期后就可以执行crontab -e 命令了
![6a3ff4e25d3d95bc956aa4662d1fc483.png](https://img-blog.csdnimg.cn/img_convert/6a3ff4e25d3d95bc956aa4662d1fc483.png)
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下~
![2fb83cfa70f928fa9fe3f2b0fbc6839b.gif](https://img-blog.csdnimg.cn/img_convert/2fb83cfa70f928fa9fe3f2b0fbc6839b.gif)