假定一个场景问题,如果Linux中的 /usr/bin/chmod 二进制文件被改成0000了,那么该如何恢复呢?
1、一般我们看到系统中 /usr/bin/chmod 二进制文件的默认权限一般为 rwxr-xr-x
2、如果我们使用 chmod 0000 /usr/bin/chmod 模拟上面的场景后,再使用chmod命令恢复时就报有如下报错:
[root@qq-521351 ~]# chmod 0755 /usr/bin/chmod -bash: /usr/bin/chmod: Permission denied
其实恢复的方法有多种,这里笔者主要讲述我们的熟悉的cp复制命令的替换机制去进行恢复:
核心的知识点:使用cp复制一个文件到目标位置时,如果目标有一个与源同名的文件,强制替换,权限将会是目标位置文件的权限
[root@qq-521351 ~]# mv /usr/bin/chmod /tmp [root@qq-521351 ~]# cp /usr/bin/ls /usr/bin/chmod [root@qq-521351 ~]# cp /tmp/chmod /usr/bin/chmod cp: overwrite '/usr/bin/chmod'? y [root@qq-521351 ~]# [root@qq-521351 ~]# ls -la /usr/bin/chmod -rwxr-xr-x 1 root root 63712 May 24 16:14 /usr/bin/chmod [root@qq-521351 ~]#
这样chmod命令的权限就恢复了,注意:最后的复制替换操作不可以使用mv命令,mv命令替换后,权限以源为准
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17428703.html