在尝试了解如何ld-2.17.so
更改chmod
可执行文件本身的权限时,并思考是否可以更改其自身的权限ld-2.17.so
。
我chmod 666 ld-2.17.so
在一台测试 centos 7 机器上运行,之后我无法运行任何命令,因为大多数命令都使用ld-2.17.so
.
我已经读过这个答案,从 ld-linux.so 删除执行权限中恢复
它给出了一个非常笼统的答案,但没有给出具体的解决方案。 Centos7中有什么地方可以找到ld-2.17.so
缓存来恢复/lib64/ld-2.17.so
权限恢复正常吗?
编辑:我尝试过从其他计算机到受影响的计算机访问scp
此文件/lib64/ld-2.17.so
,但出现权限被拒绝错误。
先感谢您
答案1
ld.so
如果您有一个可以写入的可执行文件,您可以使用 bash将其内容复制到该文件read
:
while IFS= read -d '' -r line; do printf "%s\0" "$line"; done > executable-file < /lib64/ld-2.17.so
例子:
bash-4.2$ ll foo
-rwxr-xr-x 1 muru muru 29K Aug 23 13:02 foo*
bash-4.2$ while IFS= read -d '' -r line; do printf "%s\0" "$line"; done > foo < /lib64/ld-2.17.so
bash-4.2$ ./foo
Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
You have invoked `ld.so', the helper program for shared library executables.
...
然后你可以使用它来运行chmod
:
bash-4.2$ ./foo /bin/chmod
/bin/chmod: missing operand
Try '/bin/chmod --help' for more information.