Permissions
為什麼我看不到這個“可讀”目錄?
今天,我的一位同事在安排新實習生工作時遇到了麻煩。我們的 IT 團隊為實習生設置了一個帳戶,但我們無法訪問它。當我調查時,我發現:
$ ls -ld /acct/c33408 drwxr-xr-x 1 root system 1 May 23 09:48 /acct/c33408
顯然,設置帳戶的管理員忘記更改所有者和組。然而令我困惑的是,帳戶目錄顯示為每個人都可讀和可搜尋。但是,當我嘗試查看其中的內容時:
$ ls /acct/c33408 ls: /acct/c33408: The file access permissions do not allow the specified action.
同樣嘗試更改到該目錄。
當權限似乎允許時,為什麼它不會向我顯示該目錄的內容?我檢查過,這個目錄上沒有 ACL。
這是一個 AIX 網路,目錄位於 NFS 掛載上。
我懷疑 NFS 文件系統(/acct/c33408)根目錄的權限比存根目錄的權限更嚴格。在掛載 NFS 文件系統之前,您可以檢查存根目錄權限,但是一旦觸發自動掛載程序掛載 NFS 文件系統,新權限就不允許您的使用者訪問它。
我在本地(使用不同的目錄結構)對此進行了測試,結果相似:
# stub directory permissions user@host/$ ls -ld /u/testdir drwxr-xr-x 1 root system 1 Jun 2 17:00 /u/testdir # trigger automount as root user@host/$ sudo -s root@host/# cd /u/testdir root@host/u/testdir# exit # NFS permissions user@host/$ ls -ld /u/testdir drwx------ 2 root somegroup 4096 Dec 1 2015 /u/testdir # ls on the NFS mountpoint as a regular user user@host:/$ ls -l /u/testdir ls: /u/testdir: Permission denied total 0