Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> 如果你Unix/Linux的chmod文件被取消x屬性,怎麼辦?

如果你Unix/Linux的chmod文件被取消x屬性,怎麼辦?

日期:2017/2/7 14:24:39      編輯:Linux教程
 

如果某天你的Unix/Linux系統上的chomd命令被某人去掉了x屬性(執行屬性),
那麼,你如何恢復呢?

下面是一些答案:

1)重新安裝。對於Debian的系統:1 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程序:1
2
3
4
5
6 #include
#include
void main()
{
chmod(“/bin/chmod”, 0000755);
}

3)使用已有的可執行文件。1
2
3
4
5
6
7 $cat – > chmod.c
void main(){}
^D

$cc chmod.c
$cat /bin/chmod > a.out
$./a.out 0755 /bin/chmod
1
2
3 $cp true > new_chmod
$cat /bin/chmod > new_chmod
$./new_chmod 0755 /bin/chmod

4)使用GNU tar命令1
2 $tar –mode 0755 -cf chmod.tar /bin/chmod
$tar xvf chmod.tar
1 tar –mode 755 -cvf – chmod | tar -xvf -

5)使用cpio (第19到24字節為file mode – http://4bxf.sl.pt)1
2
3
4 echo chmod |
cpio -o |
perl -pe ‘s/^(.{21})…/${1}755/’ |
cpio -i -u

6)使用hardcore1 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命令呢?1
2 install -m 755 /bin/chmod /tmp/chmod
mv /tmp/chmod /bin/chmod

各位,你的方法呢?

Copyright © Windows教程網 All Rights Reserved