龙空技术网

关于linux系统普通用户无法执行crontab解决思路总结

波波说运维 690

前言:

眼前朋友们对“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里面执行命令