chmod -x /bin/chmod執行上述命令後,如何恢復?
01-20
1. 重裝 coreutils。
2. 安裝 busybox(如果沒有的話),然後使用 busybox chmod +x /bin/chmod 改回來。使用 Python/Perl 之類的腳本語言也比用 C 方便。
Perl 版:sudo perl -e "chmod 0755, "/bin/chmod""Python 3 版:sudo python -c "import os;os.chmod("/bin/chmod", 0o755)"
Ruby 版:sudo ruby -e "File.chmod 0755, "/bin/chmod""install 版:sudo install -m755 /bin/chmod{,2} sudo mv /bin/chmod{2,}node.js 版:sudo node -e "require("fs").chmod("/bin/chmod", 0755)"方法很多,提供一個最保險的,/lib/ld-linux.so.2 /bin/chmod +x /bin/chmod
打開終端運行 sudo python -c "__import__("os").chmod("/bin/chmod", 0555)"回車,就可以了
怎麼沒人說。。。拷到msdosfs上,拷過來就+x了。。。
操,這簡直是標準面試題…考SA的應變能力
最簡單方案:從別的機器rsync -a一個過來(忘了保留許可權是哪個flag了)。別笑,這是最簡單方案。真的緊急情況下可沒時間讓你查手冊問知乎
最常見方案:如@依雲 所說,用系統中已有的各種腳本語言解釋器修改許可權最2B方案:C語言調用chmod函數最…我也不知道什麼的方案:C語言寫一個hello world,編譯成可執行程序,然後cat /bin/chmod &> a.out (假設你有root,否則沒法去掉chmod的可執行許可權)#include &
int main()
{char *path = "/bin/chmod";
chmod(path, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); exit(0); } 把該文件的許可權恢復成rwxr-xr-x從其它的機器上拷貝一份chmod過來
$ sudo su
# cp /bin/chmod ~/chmod
# install -m 755 ~/chmod /bin/
setfacl -m user::rwx /bin/chmod即可解決,搞不懂你們這些人為什麼要弄的這麼麻煩
嘗試了很多 但是很多都得有一個前提 root身份 。假如chmod只是不給普通用戶x許可權,這個普通用戶身邊有python環境 有busybox 也有可執行許可權的一個文件。就是不知道root密碼 這個怎麼破
1)自己寫個小程序,用 chmod(2) 該回來。 2)從其他機器上拷貝一份有執行許可權的chmod回來。
隨便cp一個有執行許可權的文件 然後
cat /bin/chmod &> file./file +x /bin/chmod 偷許可權。。推薦閱讀:
※如何評價微軟PowerShell將支持SSH?
※非同步io有什麼優勢?
※2017 年 Linux 在桌面平台上有前景嗎?
※如何說服後端技術人員放棄 SQL Server 轉向 MySQL?
※怎樣才算有自主知識產權的操作系統?研發「自主知識產權」的操作系統對中國的社會和經濟有何意義?