Linux下目錄的x執行許可權問題

pythontab發表於2014-01-07

例題:

有個目錄的許可權如下所示:

drwxr--r-- 3 root root 4096 Jun 25 08:35 .ssh

系統有個帳號名稱為vbird,這個帳號並沒有支援root群組,請問vbird對這個目錄有何許可權?是否可切換到此目錄中?

答:vbird對此目錄僅具有r的許可權,因此vbird可以查詢此目錄下的檔名列表。因為vbird不具有x的許可權,因此vbird並不能切換到此目錄內!(相當重要的概念!)

上面這個例題中因為vbird具有r的許可權,因為是r乍看之下好像就具有可以進入此目錄的許可權,其實那是錯的。 能不能進入某一個目錄,只與該目錄的x許可權有關啦!此外, 工作目錄對於指令的執行是非常重要的,如果你在某目錄下不具有x的許可權, 那麼你就無法切換到該目錄下,也就無法執行該目錄下的任何指令,即使你具有該目錄的r的許可權。

很多朋友在架設網站的時候都會卡在一些許可權的設定上,他們開放目錄資料給網際網路的任何人來瀏覽, 卻只開放r的許可權,如上面的範例所示那樣,那樣的結果就是導致網站伺服器軟體無法到該目錄下讀取檔案(最多隻能看到檔名), 終端使用者總是無法正確的查閱到檔案的內容(顯示許可權不足啊!)。要注意:要開放目錄給任何人瀏覽時,應該至少也要給予r及x的許可權,但w許可權不可隨便給!

因為:如果A使用者對某檔案沒有任何許可權,但是對該檔案所在目錄擁有w許可權的話,那麼A使用者依然可以刪除該檔案。


相關文章