Linux

儘管權限正確,但無法進入目錄

  • June 17, 2019

我有一個需要輸入的目錄(nobody由於它是 Docker 綁定掛載的一部分,並結合了使用者命名空間重新映射,因此歸所有者所有。)。這是它的相關ls -la輸出:

drwxrwxr-x    2 nobody   nobody        4096 May 26 14:42 Directory

執行 as root,雖然我不屬於目錄的所有者或組,但該目錄是世界可讀和可執行的,所以我應該能夠進入它。但是,在執行時cd Directory,它會失敗:

bash: cd: Directory: Permission denied

我認為您在解決問題後創建了問題和答案。

請注意,GNUls長列表-l將通過在文件模式位列表中附加一個字元來顯示其他訪問方法(例如訪問控制列表)是否適用於文件。

而不是:

drwxrwxr-x    2 nobody   nobody        4096 May 26 14:42 Directory

您的原始目錄列表可能顯示:

drwxrwxr-x+   2 nobody   nobody        4096 May 26 14:42 Directory
         ^
          \  Note the extra + character here.

如果您不了解該約定,則很容易忽略該約定,但來自手冊

當文件模式位後面的字元是空格時,沒有替代訪問方法。當它是列印字元時,就有這樣的方法。

GNU ’ls’ 使用 ’ .’ 字元表示具有 SELinux 安全上下文的文件,但沒有其他替代訪問方法。

具有任何其他替代訪問方法組合的文件用“ +”字元標記。

引用自:https://serverfault.com/questions/971669