저는 우분투 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의 상위 디렉토리가 문제입니다.
귀하의 아틀라스 그룹에는 상위 디렉터리에 대한 읽기 권한이 있으므로 파일과 해당 권한을 보려면 읽기 및 실행이 필요합니다.
temp2와 temp3이 포함된 디렉터리에 있는 경우 다음을 통해 문제를 해결할 수 있습니다.
sudo chmod g+x .
답변2
ls -l
파일의 속성은 권한, 크기, uid, gid(by 및 lsattr
) 와 같은 inode 번호와 관련된 inode 데이터 구조에 저장됩니다 . 파일 이름은 inode 데이터 구조에 저장되지 않습니다. 이는 디렉토리 파일에 저장되며 inode 번호와 연결됩니다.
[luchaoqun@centos-7 ~]$ ls -i www 1704095 overflow_1 8722125 overflow_2
디렉토리에 및 권한이 모두 설정된 경우 r
명령을 통해 파일 이름과 inode 정보를 볼 수 있습니다. 권한이 있지만 권한이 없으면 파일 이름만 볼 수 있고 디렉터리의 inode 정보는 볼 수 없습니다.x
ls -i
r
x
[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