目录
情境再现
这不前两天老大给派了个任务,要我做一个适合自己公司的系统。嘁~ 这点小事能难得到我?我咔咔咔三下五除二两天搞定了,自己原本测试没有问题,于是一部分便使用了新的系统。就刚才在我喝茶看报之际。某些第三方服务趁我没注意搞偷袭,自己也大意了没有闪,导致了一些常用服务配置完成后,启动即杀死。这妮马我的脸可没地放了,刚来就丢运维部的脸。
没办法呀,问题还待解决。于是就死皮赖脸的找开发的哥哥们问他们用的时候什么样的报错。开发大哥直接甩给我一张图沃腻吗(下图与生产报错图相符但不是原生产图)。

开发大哥不讲口德,让我好自为之!于是我就开始查找问题出现在哪里……

深度刨析

从开发大哥给我的图中,我分析了图中的报错,id name不存在,我查看了/etc/shadow中的用户发现果然没有这个用户。这又是哪里的问题呢?就在这千钧一发之际,她(ps:94年的人事小姐姐一枚)迎面走来了朝我微微一笑,这时我立马意识到问题出现在了哪里。难道说这就是爱情的力量吗?
不扯没用的了,有些大佬可能已经默默的离开了,别走!重头戏来了。说到问题我想我做系统期间为了安全着想就把用户组文件、密码文件、用户信息文件全部上了锁,我判定可能是这里出现了问题!接下来我撤了这些文件修改的属性改为了默认如下:
[root@bogon ~]# chattr -i /etc/passwd
[root@bogon ~]# chattr -i /etc/shadow
[root@bogon ~]# chattr -i /etc/group
这下应该没有问题了,重启下试试(特喵的,又错)

仔细又想了想报错,把安装的过程也过了一遍,默认系统yum安装的时候会自动创建一个apache用户,而配置文件是在安装之前就锁死的,也就是说yum安装的时候本就没创建用户成功,导致启动的时候找不到这个用户,所以无法启动。这样说的话解决的办法有两种:
- 手动新建一个apache用户
- 卸载app重新安装
解决问题
我试过了用第一种建立一个用户,可以启动服务,但是不确定后期会出现什么样子的问题。我是选用第二种方法,操作步骤如下:
1)查出软件包的名
[root@bogon ~]# rpm -qa |grep httpd
httpd-tools-2.4.6-97.el7.centos.x86_64
httpd-2.4.6-97.el7.centos.x86_64
2)删除httpd
[root@bogon ~]# rpm -e httpd-2.4.6-97.el7.centos.x86_64
##此条删除不成功的话,就在命令后跟 --nodeps
3)重新安装
[root@bogon ~]# yum -y install httpd
[root@bogon ~]# rpm -qa |grep httpd
httpd-2.4.6-97.el7.centos.x86_64
httpd-tools-2.4.6-97.el7.centos.x86_64
4)启动即可(搞定!)
[root@bogon ~]# systemctl start httpd
[root@bogon ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::80 :::*
总结
这个坑告诫我们以后要看好各个命令参数的意义在去决定要不要采用,适不适合团队使用,我的初衷是给文件属性为了防止他人误删除、恶意修改、防止黑客,结果栽倒了自己手里。还好大批量投入使用,要不然我自己都没脸待下去了,嗐,不说了,就是为了94年人事小姐姐我也要努力待下去哈哈。
博主接到任务做公司系统,部分启用新系统后,常用服务配置完成启动即被杀。经分析,报错是因id name不存在,进一步排查发现是为安全锁死文件,导致yum安装时未成功创建apache用户。解决办法有手动新建用户或卸载重装,博主选用后者解决问题。
683

被折叠的 条评论
为什么被折叠?



