Linux主机root切换用户获取$?结果异常案例

更新日期:2021-10-15

来源:纯净之家


系统大全为您提供
  1. 问题描述
首先是NBU备份I2000数据库时,监控页面查看到总是失败,但事实上,rman备份操作已经完成,只是最后取$?时异常导致而已。
其次,在一次业务升级中,ideploy工具自动升级之前做的环境检查,各个部件都检查不通过,无法自动升级,最后手工做的升级,几百块单板,真是悲剧。
2. 问题现象
NDMC21:~ # su - sshusr -c "ls";echo $? 
bin breeze check.sh Documents ideploy_file_history nohup.out public_html 
1
可以看到,正常来说,最后取$?时,应该返回0才对的。
3. 问题分析
针对这个问题,特地向SuSE原厂提了个case,也收集了各方面日志,甚至是strace的日志,问题一直无法定位。
我觉得这个问题以前不存在,最近才出现,应该是与近期的安全加固有极大的关系,于是让做安全加固的兄弟对OS层面的所有操作都整理出来。
结果为:主要是由于/etc

curity目录权限被修改了,/etc

curity -- 原来权限:755,做了安全加固后,权限被修改为:600。
我在几台主机上测试,都是OK的:
NDMC21:~ # ls -ld /etc

curity/ 
drw------- 2 root root 368 Jul 12 00:24 /etc

curity/
NDMC21:~ # su - sshusr -c "ls";echo $? 
bin breeze check.sh Documents ideploy_file_history nohup.out public_html 
1
NDMC21:~ # chmod 755 /etc

curity 
NDMC21:~ # su - sshusr -c "ls";echo $? 
bin breeze check.sh Documents ideploy_file_history nohup.out public_html 
0
 
  以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。 
 
本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版