Linux與命令列基礎
目錄 d 的權限為 rwx--x--x(711),其中的檔案 f.txt 的權限為 rw-r--r--(644)。既不是擁有者也不是超級使用者的使用者執行「ls d」與「cat d/f.txt」時,結果是下列何者?
- Als d 可以顯示清單,但 cat d/f.txt 因目錄權限不足而不被允許
- Bls d 與 cat d/f.txt 都不被允許
- Cls d 不被允許,但 cat d/f.txt 可以顯示內容
查看答案與解析
正確答案:C. ls d 不被允許,但 cat d/f.txt 可以顯示內容
對目錄而言,r 是讀取其中名稱清單的權限,x 是進入其中、依名稱到達檔案的權限。其他人只有 x,所以 ls d 會出現「Permission denied」,但可以到達已知名稱的 d/f.txt。f.txt 本身對其他人也有 r,因此可以用 cat 顯示內容。反過來,只有 r 而沒有 x 的目錄,雖然看得到名稱清單,卻打不開其中的檔案。
- A. 這是有 r 而沒有 x 的目錄的結果。711 的其他人只有 x,所以讀不到清單。
- B. 只要目錄有 x,就能依名稱到達檔案。能否開啟則由 f.txt 本身的權限決定。
- C. 正確。只有 x 的目錄雖然看不到清單,但能開啟已知名稱的檔案。