Linux文件权限错误——用getfacl和setfacl恢复。

        为了方便操作,一般我都是使用root登录管理权限。在这至高无上的权限面前,一个不慎就会发生各种各样的悲剧。前两天,原本打算执行 chmod -R 777 ./* ,结果手滑打少了一个.。虽然及时按 ctrl + c 终止命令,但悲剧已经发生。

结果出现这个错误。┭┮﹏┭┮

ll  /usr/bin/su*

 

查看发现/usr下的可执行文件都改成777了。。。少了suid权限

银河麒麟重新启动——>进入安全模式,在安全模式下可以正常操作(其它版本的linux系统类似,进入安全模式进行操作)。

chmod 4755  /bin/su
chmod 4755  /usr/bin/sudo

 

进系统执行
sudo ls /root

发现还有问题

chmod 755 /usr
chmod 644 /usr/lib/sudo/sudoers.so
chown -R root:root /usr/lib/sudo
chmod 0440 /etc/sudoers

这几项也检查了一下。

重启电脑正常进入银河麒麟系统,尝试获取管理员权限。

发现su可以了,但是sudo还是不行。

后来发现“所有者”错了

chown  root:root /usr/bin/sudo

 

结果又蹦出一堆错误。。。。。

最终采用如下方法:

chmod 755 /etc/sudoers.d

你这系统是不是整个根分区都执行过chmod 755啊


这么多文件权限都不对


找备机执行getfacl -p -R /etc > ./linux.chmod.bak  
     然后本机执行
     setfacl --restore=/root/linux.chmod.bak


这个是整体恢复策略,需要恢复哪个目录的权限,就getacl哪个

 最后终于搞定了。哈哈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值