권한이 777인데도 사용자가 디렉터리에 들어갈 수 없습니다.

권한이 777인데도 사용자가 디렉터리에 들어갈 수 없습니다.

Raspberry Pi에서 사용자를 생성 nils하고 액세스 권한을 갖기를 원했습니다 /media/christoph. 모든 것을 시도하고 폴더에 대한 권한을 777로 재귀적으로 설정하여 종료하려고 시도했지만 그래도 작동하지 않았습니다.

christoph@christoph-pi:~$ su - nils
Password: 
nils@christoph-pi:~$ cd /media/
nils@christoph-pi:/media$ cd christoph/
-su: cd: christoph/: Permission denied
nils@christoph-pi:/media$ ll
total 12
drwxr-xr-x   3 root      root 4096 Mar 25 00:42 ./
drwxr-xr-x  22 root      root 4096 Jul 13 16:27 ../
drwsrwsrwt+  3 christoph git  4096 Aug  6 17:05 christoph/
nils@christoph-pi:/media$ id
uid=1001(nils) gid=1001(nils) groups=1001(nils),1003(git)
nils@christoph-pi:/media$ logout
christoph@christoph-pi:~$ cd /media/
christoph@christoph-pi:/media$ sudo ls -alZ
total 12
drwxr-xr-x   3 root      root ? 4096 Mar 25 00:42 .
drwxr-xr-x  22 root      root ? 4096 Jul 13 16:27 ..
drwsrwsrwt+  3 christoph git  ? 4096 Aug  6 17:05 christoph

nils이 폴더에 들어갈 수 있는 사용자 권한을 어떻게 부여합니까 ?

답변1

이는 +ACL(액세스 제어 목록)의 표시로, 사용자의 모든 권한을 제거 nils하고 대상 디렉터리나 파일에서 사용할 수 있도록 하려면 다음을 사용해야 합니다.

setfacl -x u:nils /media/christoph

또는 다음 명령을 사용하여 권한을 부여해야 합니다. 예를 들어 읽기 및 올바른 권한을 원할 경우 다음과 같이 할 수 있습니다.

setfacl -m u:nils:rw /media/christoph

답변2

+끝에 있는 권한은 ls파일에 ACL 세트가 있음을 나타냅니다. ACL은 표준 권한을 재정의합니다.

예를 들어

$ mkdir X
$ chmod 777 X
$ ls -ld X
drwxrwxrwx 2 sweh sweh 4096 Aug  6 11:34 X/
$ setfacl -m 'u:vbox:---' X
$ ls -ld X                 
drwxrwxrwx+ 2 sweh sweh 4096 Aug  6 11:34 X/

따라서 이 시점에는 다음과 같이 ACL이 포함된 777 디렉토리가 있습니다.+

$ sudo su vbox
vbox:/tmp$ cd X
bash: cd: X: Permission denied
vbox:/tmp$ ls -ld X
drwxrwxrwx+ 2 sweh sweh 4096 Aug  6 11:34 X
vbox:/tmp$ getfacl X
# file: X
# owner: sweh
# group: sweh
user::rwx
user:vbox:---
group::rwx
mask::rwx
other::rwx

사용자가 vbox디렉토리에 들어갈 수 없습니다. getfacl이유가 표시됩니다.

관련 정보