【发布时间】:2014-07-26 17:28:40
【问题描述】:
这是一道面试题。假设您撤销了 chmod 二进制文件的执行权限——即,您不能运行“chmod u+x chmod”,因为 chmod 没有 +x。没有在本地文件系统之外获取 chmod 的二进制文件的副本,如何恢复 chmod 的执行权限?
【问题讨论】:
这是一道面试题。假设您撤销了 chmod 二进制文件的执行权限——即,您不能运行“chmod u+x chmod”,因为 chmod 没有 +x。没有在本地文件系统之外获取 chmod 的二进制文件的副本,如何恢复 chmod 的执行权限?
【问题讨论】:
1) 使用install:
install -m +rx /bin/chmod /tmp/chmod
/tmp/chmod 755 /bin/chmod # or just copy it back.
2) 使用busybox的chmod
/bin/busybox chmod 755 /bin/chmod
3) 使用cp 和cat(dd 也可以):
cp -a /bin/sh /tmp/chmod
cat /bin/chmod > /tmp/chmod
/tmp/chmod 755 /bin/chmod
【讨论】:
perl -e 'chmod 0777, "foobar.file"'