博客园  :: 首页  :: 管理

关于Linux中-chmod改变了chmod的权限-恢复方法

Posted on 2023-05-24 16:23  520_1351  阅读(716)  评论(0编辑  收藏  举报

本文章标题主要是想表达的是,关于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