chmod -x chmod的N种解法
在SlidesShare.net上有这么一个幻灯片,其说了如下的一个面试题:
如果某天你的Unix/Linux系统上的chomd命令被某人去掉了x属性(执行属性),
那么,你如何恢复呢?
下面是一些答案:
1)重新安装。对于Debian的系统:
sudo apt-get install --reinstall coreutils
2)使用语言级的chmod。
Perl:perl-e ‘chmod 0755, “/bin/chmod”‘
Python:python -c “import os;os.chmod(‘/bin/chmod’, 0755)”
Node.js:require(“fs”).chmodSync(“/bin/chmod”, 0755);
C程序:
include <sys/types.h>
include<sys/stat.h>
void main()
{
chmod("/bin/chmod", 0000755);
}
3)使用已有的可执行文件。
$cat - > chmod.c
void main(){}
^D
$cc chmod.c
$cat /bin/chmod > a.out
$./a.out 0755 /bin/chmod
$cp true > new_chmod
$cat /bin/chmod > new_chmod
$./new_chmod 0755 /bin/chmod
4)使用GNU tar命令
$tar --mode 0755 -cf chmod.tar /bin/chmod
$tar xvf chmod.tar
tar --mode 755 -cvf - chmod | tar -xvf -
5)使用cpio (第19到24字节为file mode – http://4bxf.sl.pt)
echo chmod |
cpio -o |
perl -pe 's/^(.{21}).../${1}755/' |
cpio -i -u
6)使用hardcore
alias chmod='/lib/ld-2.11.1.so ./chmod'
7)使用Emacs
Ctrl+x b > * scratch*
(set-file-modes “/bin/chmod” (string-to-number “0755” 8))
Ctrl+j
嗯,挺强大的,不过为什么不用install命令呢?
install -m 755 /bin/chmod /tmp/chmod
mv /tmp/chmod /bin/chmod
各位,你的方法呢?
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
或者是跟程序员类似日均使用电脑时间较长的老铁,想看看有多少人做过近视眼手术~ 本人近视眼比较久了,一直想做手术,但又怕工作原因后面副作用太大。 医院一堆医生戴眼镜,说明这个手…
老 Mac 太卡了,买个 mini 不划算,遂整了个 R7-8845H 的迷你主机。 一开始装 Ubuntu 用着还挺好,后来发现一些软件只有 Mac 版和 Win 版,又重装…
有朋友问我安卓微信消息延迟怎么办,我不太了解,之前似乎看到微信在安卓上没有接入任何一家的 push ,后台不保活的情况是怎么推送消息的? 有谷歌的残废 FCM, 国产手机微…
合速度