二進位/可執行檔的寫入權限:有必要嗎?

二進位/可執行檔的寫入權限:有必要嗎?

我想:

echo hello world > /usr/bin/firefox

將在瀏覽器中顯示該訊息。什麼都沒發生。然後我嘗試:

echo hello world > /usr/bin/kwrite

看看 kwrite 是否開啟並在前面輸入「hello world」。再次,什麼事也沒發生。然後嘗試執行這兩個命令後:

computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found

正在做ls -l /usr/bin/

-rwxr-xr-x 1 root   root     182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root   root     116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root   root    2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root   root       1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root   root       3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root   root       7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root   20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root   root     181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root   root       1184 2011-01-21 23:49 zxpdf

我的系統上(以及其他 bin 資料夾)中的二進位檔案/usr/bin至少具有 (?) 的使用者寫入權限。所以我有效地做的是可執行檔“hello world”,雖然/usr/bin/kwrite是二進位執行文件,但是/opt/firefox/firefoxshell 腳本

很明顯,可執行檔很容易出現這種類型的事故。所以我想問是否需要寫入權限。我想將其關閉,但我想確保我沒有在這裡遺漏任何東西。

答案1

首先,您必須echo hello world > /usr/bin/kwrite以 root 身分嘗試,因為所有w或寫入位元都是

-rwxr-xr-x對使用者和群組關閉。對於你的第二個問題,只有 root 有正確的權限寫入

大多數二進位文件,除非它是由普通用戶編譯和安裝的。

您也應該溫習一下檔案權限符號。這是一個很棒的關聯

答案2

二進位檔案具有使用者寫權限,因為使用者是 root。只有 root 可以寫入/usr/bin

你真的應該認真複習一下,不要以 root 身分做簡單的事情(例如使用瀏覽器和文字處理器)。請參閱此處限制損害: http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-your-linux-system-as-root/

.sh另外,您可能會注意到/usr/bin.如果需要的話,可以想像這些可以由 root 編輯。

相關內容