Postgre奇怪的安装失败问题根源与分析

上周突发怪例,    情况如下:
Linux版本:AS4 update2
postgresql版本:8.1.0
rpm包安装后,postgresql的Service无论如何都启动不来。第一次失败,查看Log,空;第二次重试,报错:无法创建目录‘/var/lib/pgsql/data/pg_log’: 文件已存在。删除该文件夹,启动,失败。

在另一台机器上重试,重新安装操作系统(系统相同),安装时将系统自带的Postgres7.4安装。服务可以启动,配置文件时很郁闷,8比7果然是一个较大的飞跃。于是卸载掉7,安装8,启动服务成功。

对比第三台机器,操作系统centos,kernel为2.6,和AS4相同。未安装系统自带的Postgres7,直接安装Postgres8,直接安装无异常。


问题的根源与解决办法:SELinux(Security Enhanced Linux)是4的新安全机制,是在内核之上增加了一层访问控制。
SELinux:Security-Enhanced Linux。由NSA搞的(不是NASA),是national security agency搞的咚咚。
http://www.nsa.gov/selinux/
SELinux极大的增强了Linxu的安全性。在SELinux下,即使root要不是为所欲为。这样万一WebServer被攻陷了,攻击者的收获也可能仅限与此,无法对其他系统进行破坏。
当然也狠狠的郁闷了我这个菜鸟一把。

回想起来,其实安装时,都问过是否启用SELinux的选项。(大概是在防火墙设置)centos3,AS4,ES4都提示了,只不过一直没在意。

简单的解决办法:
将/etc/selinux/config中的SELINUX=enforcing 改成SELINUX=Disabled,将SELinux停止。
还找到了一个配置文件/etc/sysconfig/selinux,不过该文件只是指向了上面文件,改哪个都一样。

当然这种办法一棍子打死了NSA的辛苦心血,失去了B1级别的安全性。喝杯凉水,还是可以慢慢配置的。
上次由于时间紧张,急了就把SELinux全部停掉了,罪过罪过。
配置:/etc/selinux/targeted/booleans,就可以发现我们需要的配置都在这里,以0和1表示布尔值。
如果觉得麻烦,在“系统设置”“安全级别”中同样也可以配置SELinux。

最后,教训是,以后如果一些服务出了古怪的问题,那么不妨执行sestatus,看看是否被SELinux给屏蔽掉了。

几几歪歪写了一堆,没有好好干活,罪过罪过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值