centos7赋予全部权限_CentOS7 所有文件被赋予777权限故障恢复

563e657470fdb5bdaa172437a0eae062.png

在Linux系统中,/是文件树的最高一级,所有文件都在/之下。文件的路径分为相对路径和绝对路径,假如file文件存放在/tmp目录,那么/tmp/file就是file文件的绝对路径,在任意位置都可以对绝对路径/tmp/file就行操作。假如当前处于/tmp目录,可以把/tmp/file简写成./file进行操作,点号“.”代表的是当前目录,./file就是相对路径。

becc09547a22c187b859e781d532fa57.png

普通文件一般使用3组字符串来表示系统用户对文件的操作权限,每组有3个字符。3组字符串从左到右分别表示文件所有者、文件所属组用户、其他组用户对该文件的操作权限。读写执行权限在chmod命令修改权限的时候可用数字421来代替。假如给每组用户都具有读写执行权限的话可以执行chmod 777 file来设置。如果是当前目录下所有的文件chmod 777 -R ./* ,R的作用是递归,那么当前目录下所有的文件都被赋予777权限了。对于系统权限不是很了解的人会认为777已经是最高权限了,其实不然。举个例子,/usr/bin/su权限为4755,最前面的这个4表示其他用户执行文件时,具有与所有者相当的权限。当普通用户执行su命令时需要访问root用户才能访问的权限,但是su被修改为777之后,普通用户执行su命令就无法访问只有root才有权限访问的文件,所以su - root就会失败,无法正常切换。

如果当前处于/tmp路径,原计划修改/tmp下所有的文件权限为777,命令为chmod -R 777 ./*,结果误操作执行chmod 777 -R  /*,/前面的.上文已经介绍,写与不写结果完全不同。chmod 777 -R  /*命令执行后会刷很多权限不足的报错,意识到不对劲的时候应该快速执行Ctrl+c中断该命令。如果没有发现那么命令执行完成后几乎所有的文件权限变成777了。

6512f6d4d029d880e82a02c0e74f037b.png

此时网络还可以ping通,但是新的ssh连接将会失败。通过显示器登录的话只能登录普通用户,普通用户登录后su切换root失败无法进行一些恢复操作。2573151757ef44153d825807841bd3a8.png

恢复方案:

1.在同版本正常的系统上备份相关目录文件权限并保存在对应的文件;

getfacl -p -R /usr >/tmp/usr.txt

getfacl -p -R /boot >/tmp/boot.txt

getfacl -p -R /etc >/tmp/etc.txt

getfacl -p -R /home >/tmp/home.txt

getfacl -p -R /root >/tmp/root.txt

getfacl -p -R /var >/tmp/var.txt

getfacl -p -R /opt >/tmp/opt.txt

getfacl -p -R /sys >/tmp/sys.txt

2.进入单用户模式下进行恢复ssh服务和su命令,给root登录恢复做铺垫;

重启主机在该界面出现时按字母e进行编辑

fc01ff747e3377b64dc00953b3753ed0.png

光标向下移动,修改ro为rw,行尾增加init=/bin/sh

2a74fa28dce35fc42bc57b6f6dff4e7d.png

执行Ctrl+x进入单用户

0a9cb321896d8ad8de8683715c76799f.png

3.恢复/usr/bin/su权限为4755;

cf3ef0c55db3ff8685dfb8dd1119d59f.png

4.从单用户模式切换到多用户模式并切换root用户;

exec  /sbin/init

4e33da07588799ebf1c535c7dfa72ded.png

5.恢复ssh远程登录权限;

00b8fb3de6353339497629786b2f896f.png

861f8d6224ccb70bbd997df61b2848a0.png

6.上传步骤1备份的txt文件至本机/tmp目录;

7.文件权限恢复;

setfacl 命令需要在/目录下执行,cd /在执行以下命令进行恢复

setfacl --restore=/tmp/boot.txt

setfacl --restore=/tmp/etc.txt

setfacl --restore=/tmp/home.txt

setfacl --restore=/tmp/opt.txt

setfacl --restore=/tmp/usr.txt

setfacl --restore=/tmp/sys.txt

setfacl --restore=/tmp/var.txt

setfacl --restore=/tmp/root.txt

8.确认恢复后的权限;

两套系统的文件不可能完全一致,只能恢复备份主机和故障主机文件名相同的文件权限。

d2a6309a06557c8fa9ac51dd9b257de3.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值