Jackey's 感悟

Do Research

>CentOS 5当中EACCES的一种情况导致portmap等众多基于libc的应用程序无法执行的问题(是selinux配置造成)

>

昨天突然发现,某一台CentOS服务器不能提供nfs服务了。
于是ssh上去
#service nfs status
stopped
#serice nfs start
can not use the rpc
#service portmap status
stopped
#service portmap start
faint!
/lib/libnsl.so.1 no such file or directory
可libsnsl这文件确实是存在的。
手动执行/sbin/portmap居然也是这个错误。文件确实存在,这时候strace之
#strace /sbin/portmap
balala一大片
仔细查之,发现
open("/lib/libnsl.so.1",…)=-1 EACCESS
这怎么可能呢,libnsl链接文件和原文件都是有权限的。
很怪。
 
这时候继续看日志,tail /var/log/message
my god,日志既然停了,6天前就不在记录日志了。停止的时候是6天前的凌晨4点多。
非常奇怪。
 
#service syslog start
shit, /lib/libc.so.6 EACCES
这下大条了,以前从没有遇到这样的问题,
再仔细一查,很多系统服务都没有办法启动。
 
没辙啊没辙,Google 百度都不行。都没有找到类似的情况。
 
 
幸亏的是,我还有另外一台CentOS服务器,那上面所有的服务都是正常的。
两个服务器大体上是相似了,出现这个问题,可以肯定是某些配置出现了问题。
IT民工开始乾坤大挪移,进行比较
没有用diff,用的是Beyond compare,进行两个/etc文件夹比较。
首先只保留7天内变化的文件和文件夹。这排除了好多,不错不错。
然后再排除万难,发现两个地方的/etc/selinux/config不一样,出问题的机器上selinux是enabling的,
没有问题的机器是disabled。
 
死马当活马医,改成disabled,重启,发现一切OK了。
 
selinux配置还需要后续加强。
 

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s

%d 博主赞过: