Permissions

使用者看不到目錄權限

  • June 3, 2015

我在 Ubuntu 3.13 中工作。

驅動器上的權限使得所有者可以看到具有這些權限的目錄和文件:

drwxrwxr-x    2 michael atlas    4096 Feb 15 12:34 temp2
drwxrwxr-x    2 michael atlas   12288 Mar 18 16:14 temp3

而“atlas”組的另一個成員(ubuntu)看到了這個:

d????????? ? ? ? ?            ? temp2
d????????? ? ? ? ?            ? temp3

除非 ubuntu 使用sudo ls -l.,否則所有者、組和權限看起來與 michael 使用ls -l.

在這裡可以看到兩個使用者在同一個組中:

ubuntu@lincloud:~$ grep '^atlas' /etc/group
atlas:x:1001:ubuntu,michael

問題的原因是什麼?我如何解決它?

temp2 和 temp3 的父目錄是問題所在。

您的 atlas 組對父目錄具有讀取權限,您需要讀取並執行才能查看文件及其權限。

如果您在包含 temp2 和 temp3 的目錄中,則可以使用以下命令解決問題:

sudo chmod g+x .

文件的屬性儲存在與inode 編號相關的inode 資料結構中,例如permission、size、uid、gid(by ls -land lsattr)。文件名不儲存在 inode 資料結構中。它儲存在目錄文件中,該文件與一個inode編號有關。 [luchaoqun@centos-7 ~]$ ls -i www 1704095 overflow_1 8722125 overflow_2

如果同時設置了目錄rx權限,則可以看到文件名和inode資訊(通過ls -i命令)。如果有r權限,沒有x權限,只能看到文件名,看不到目錄中的inode資訊。

[lu@centos-7 www]$ ls -l total 8 -rw-r--r--. 1 luchaoqun luchaoqun 0 Jun 3 13:19 overflow_1 -rw-r--r--. 1 luchaoqun luchaoqun 0 Jun 3 13:19 overflow_2

[lu@centos-7 ~]$chmod u-x [lu@centos-7 ~]$ ls -ld www drw-r-xr-x. 2 luchaoqun luchaoqun 40 Jun 3 13:19 www [lu@centos-7 ~]$ ls -l www ls: cannot access www/overflow_1: Permission denied ls: cannot access www/overflow_2: Permission denied total 0 ?????????? ? ? ? ? ? overflow_1 ?????????? ? ? ? ? ? overflow_2

引用自:https://unix.stackexchange.com/questions/207147