用户看不到目录权限

用户看不到目录权限

我正在 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

问题的原因是什么?我如何解决它?

答案1

temp2 和 temp3 的父目录是问题所在。

您的 atlas 组对父目录具有读取权限,您需要读取并执行才能查看文件及其权限。

如果您位于包含 temp2 和 temp3 的目录中,则可以使用以下命令修复该问题:

sudo chmod g+x .

答案2

文件的属性存储在与 inode 号相关的 inode 数据结构中,如权限、大小、uid、gid(byls -llsattr)。文件名不存储在 inode 数据结构中。它存储在目录文件中,与一个inode号相关。 [luchaoqun@centos-7 ~]$ ls -i www 1704095 overflow_1 8722125 overflow_2

如果目录上同时设置了r和权限,则可以看到文件名和 inode 信息(通过命令)。如果有权限,没有权限,只能看到文件名,看不到目录中的inode信息。xls -irx

[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

相关内容