chmod 没有执行权限的解决办法

chmod 是设置权限的命令,但是自身没有了执行权限,那么就表示没有办法更改其他命令的权限,也没有办法改变自己的权限。以下的一些方法可以恢复 chmod 的执行权限。

方法一

直接运行加载程序,并将想要运行的命令作为参数传入。

# /lib64/ld-linux-x86-64.so.2 /bin/chmod 755 /bin/chmod

方法二

可以使用 busybox 的 chmod 授权,同理也可以使用 live 环境中的 chmod 来调整已经失去权限的chmod文件权限。

# busybox chmod 755 /bin/chmod

方法三

将 chmod 文件 dd 到一个包含执行权限的文件中。

# mv /bin/chmod /bin/chmod.orig
# cp -a /bin/chown /bin/chmod
# dd if=/bin/chmod.orig of=/bin/chmod

方法四

使用 facl 额外授权。

# setfacl -m u::rx /bin/chmod
# chmod 755 /bin/chmod
# setfacl -b /bin/chmod

方法五

复制一个可执行文件,然后使用 chmod 命令覆盖,和方法三类似。

# cp /bin/ls chmod
# cp /bin/chmod .
# cp -a chmod /bin/chmod

方法六

使用 install 命令的-m选项也可以设置权限。

# install -m a+x /bin/chmod .
# ./chmod 755 /bin/chmod

方法七

使用 Python 解决。

# python -c "import os; os.chmod('/bin/chmod', 0755)"
posted @ 2018-07-07 14:48  八角三七  阅读(1573)  评论(0编辑  收藏  举报