Glibc误升级问题

Glibc误升级问题
场景:
后台linux服务器redhat6.5版本,因为偷懒想安装个工具命令,执行了yum install lrzsz,安装的时候以为没有问题,敲了y,结果发现把 操作系统的glibc从2.12版本升级到了2.17版本(由于yum源配置的问题-大锅)。

问题:
1.自动升级glibc版本后,当前登录的root用户,无法su到其他用户,提示:
“su: /bin/bash: No such file or directory”
这里的问题,就不是网上所说的什么passwd文件格式问题了,因为我找了下/bin目录下,的确没有bash文件了!sh文件也没有!!
2.尝试用ssh切换到指定用户,无法连接上,提示密码错误,实际密码是对的。
查看/var/lig/securer日志文件,存在错误:
“User root not allowed because shell /bin/bash does not exist”----------还真就是这个问题了,bash文件没了!
3.千万不能这个时候退出当前ssh,否则就登录不上去了。

尝试处理:
1.手工rpm -ivh glibc-2.12的rpm包,安装后,rpm -qa|grep gblibc可以查到2.12和2.17共存。
查看/lib64目录下软链接文件,都是指向2.17的,感觉行不通
2.使用yum install glibc,这个操作有问题,导致lib64下的软连接都丢失了,ls,rpm,yum等命令都无法正常执行。
3.只能尝试重建软连接,执行:#LD_PRELOAD=/lib64/libc-2.17.so /bin/ln -s /lib64/libc-2.17.so /lib64/libc.so.6。
对于其他so文件,也是类似这样,比如LD_PRELOAD=/lib64/ld-2.17.so /bin/ln -s /lib64/ld-2.17.so /lib64/ld-linux-x86-64.so.2
4.目前服务未出现异常,而且服务器有其他人在使用,只能等空的时候,尝试用对应版本的镜像作为yum源,reinstall看看。

期间的其他问题:
1.root用户不显示用户名,su提示 user don’t exist,显示用户名为I have no name
2./bin/bash和/bin/sh文件丢失,通过whereis bash从/usr/bin/bash目录下找到文件,拷贝过来,并且ln -s /binbash /bin/sh
3.ssh无法连接,service sshd restart提示错误:
‘’privilege separation user sshd does not exist‘’
检查/etc/passwd配置文件正常,sshd的用户也配了,但是ll passwd文件,用户和用户组都是0
4.chown -R root:root /etc/passwd,出现报错:chown: invalid user:‘root:root’,无法修改授权。
网上查了资料要重启,内核编辑模式去重启,没怎么操作过。
5. 执行ssh node的时候提示:“You don’t exist,go away!”,查看问题原因:
在/lib64目录下,之前做glibc文件软连接的时候,有部分没有软连接,libnss_开头的文件需要建立软连接!
软连接补充建立了之后,root用户id命令执行正常,文件所属用户:用户组也恢复为root。
service sshd restart也成功启动。
su - test,也正常切换成功。
ssh ip,也可以正常登录。
. …
6. 剩下恢复到glibc-2.12的问题,只能找时间再尝试下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值