2013-03-12 40 views
2

我收到了mkdir testdir的testdir,並在其中創建了一個文件touch testdir/a「x」在rwx目錄中的含義是什麼?

drwxr-xr-x 2 jermaine  jermaine  4096 Mar 12 22:57 testdir 

如果我刪除的「X」由chmod -x testdir

然後,我將無法

cd testdir 

touch testdir/b 

ls -l testdir 

cat testdir/a 

所以我的問題是,爲什麼我不能列出下的文件層次有'r'但沒有'x'的目錄? 「x」在目錄上究竟意味着什麼?

我知道一些解釋,比如「x表示進入方向,你必須在讀寫之前進入」。但是,「輸入」是什麼意思?我非常感謝inode或dentry級別的答案。非常感謝。

+0

在Unix上,目錄必須具有可執行標誌才能被瀏覽。 – 2013-03-12 07:58:31

+0

錯誤,要列出一個目錄,您需要r和x – 2013-03-12 09:17:24

+0

注意您需要在目錄以及每個父目錄中使用x來使其可訪問。 – 2013-03-12 09:19:58

回答

14

「執行」 是一個目錄遍歷許可。它允許您訪問目錄中的文件和文件夾。

如果您可以讀取目錄,您可以列出內容。

如果你可以一個目錄,你可以在其中創建新的文件和文件夾。

如果您可以「執行」目錄,即使您不知道里面是什麼,也可以在層次結構中移動。

10

將權限應用於Linux上的目錄時,權限位的含義與普通文件不同。

  • 寫位允許受影響的用戶創建,重命名,或在目錄中刪除文件,並修改目錄的屬性
  • 讀取位允許受影響的用戶列出目錄中的文件
  • 執行位允許受影響的用戶進入目錄,並訪問
  • 中的文件和目錄
+0

+1,終於有人理解。 – nneonneo 2013-03-12 08:03:57