本文章标题主要是想表达的是,关于Linux中chmod二进制命令文件的执行权限被取消后的恢复方法
假定一个场景问题,如果Linux中的 /usr/bin/chmod 二进制文件被改成0000了,那么该如何恢复呢?
1、在Linux系统中 /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的替换机制去进行恢复:
核心的知识点:使用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命令的权限就恢复了,注意:cp不能使用-a选项,还有最后的复制替换操作不可以使用mv命令,mv命令替换后,权限是以源为准的
笔者也测试过像使用scp与sftp方式传文件到Linux中,如果遇到文件名冲突,是没有提示的,会直接强制覆盖,但是权限也还是为Linux上的目标文件的权限为准
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17428703.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!