내가 이미 속해 있는 그룹에 대한 권한을 받을 수 없는 이유는 무엇입니까?

내가 이미 속해 있는 그룹에 대한 권한을 받을 수 없는 이유는 무엇입니까?

나는 이미 "aid_sdcard_rw" 그룹의 회원입니다:

android@localhost:~$ whoami
android
android@localhost:~$ groups
android aid_radio ...... aid_sdcard_rw ......

보시다시피 저는 이미aid_sdcard_rw 그룹에 속해 있습니다. 그런 다음 /storage/sdcard0 디렉토리에 액세스하면 다음과 같습니다.

android@localhost:~$ ls /storage/sdcard0/
ls: cannot open directory '/storage/sdcard0/': Permission denied

하지만:

android@localhost:~$ ls -l /storage/
total 8
d---rwxr-x 17 android aid_sdcard_rw 8192 1月   1  1970 sdcard0

"aid_sdcard_rw" 그룹의 구성원에게는 읽기 권한이 없나요? 이 권한 거부가 발생하는 이유는 무엇입니까?


저는 ubuntu 16.04를 실행 중이고 외부 SD 카드가 연결된 Android 휴대폰에서 Linux Deploy라는 앱을 사용하고 있습니다.

Welcome to Ubuntu 16.04 LTS (GNU/Linux 3.4.5 armv7l)

 * Documentation:  https://help.ubuntu.com/
Ubuntu 16.04 LTS [running via Linux Deploy]

/storage/sdcard0 디렉토리는 외부 SD 카드 마운트 디렉토리입니다(아래 마지막 줄 참조).

android@localhost:~$ cat /etc/mtab
/dev/loop1 / ext4 rw,relatime,data=ordered 0 0
proc /proc proc rw,relatime 0 0
sys /sys sysfs rw,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
/dev/block/vold/179:97 /storage/sdcard0 vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

/storage/sdcard0을 umount하고 -o umask=0000 옵션을 사용하여 다시 마운트하려고 시도했지만 ls -l /storage 명령을 실행하면 위와 동일한 결과가 나타납니다.

답변1

파일이나 디렉토리를 소유한 사용자가명시적으로 거부하다권한을 통해 파일이나 디렉터리에 접근하면 사용자는 해당 파일이나 디렉터리에 접근할 수 없습니다. 소유자가 액세스 권한이 있는 그룹의 구성원인지 여부는 중요하지 않습니다.

즉, 소유자로서 파일이나 디렉터리에 접근하려면 해당 소유자에 대한 접근을 허용해야 합니다.

귀하의 경우 x소유자 권한이 없는 디렉터리가 있습니다. 따라서 소유자는 디렉터리에 액세스할 수 없습니다.

이 문제를 해결하려면 다음을 사용하십시오.

chmod u+x /storage/sdcard0

소유자가 디렉터리의 내용도 나열할 수 있어야 하는 경우 소유자에게도 r권한을 부여하세요. 파일이나 하위 디렉터리를 생성하거나 삭제하려면 권한이 필요합니다 w.

카드를 설치하지 않고도 디렉토리의 권한을 설정할 수 있어야 합니다. SD 카드를 마운트할 때 마운트 지점의 권한은 디렉터리 권한을 상속해야 합니다.

답변2

Android 사용자는 권한이 없는 디렉터리의 소유자이기도 합니다(Android 사용자가 유효한 그룹의 구성원인 경우에도 마찬가지입니다). 해결 방법은 디렉터리 소유자를 변경 chown하거나 다른 사용자(유효한 그룹에 속함)를 사용해 보는 것입니다.

답변3

파일 권한은 우선순위에 따라 결정됩니다.

  • 사용자 권한은 파일 소유자에 영향을 미칩니다.
  • 그룹 권한은 파일 그룹의 모든 사람에게 영향을 미칩니다.
  • 다른 권한은 다른 모든 사람에게 영향을 미칩니다.

권한은 병합되지 않으며 순차적으로 테스트됩니다. 즉, 그룹 권한은 소유자에게 영향을 미치지 않으며 다른 권한은 소유자 및 그룹에 영향을 미치지 않습니다. 이를 통해 더 많은 사용자 그룹이보다 구체적인 권한보다는 권한 - 일반적으로 액세스할 수 있어야 하는 파일이나 디렉터리가 있지만 특정 사용자나 그룹을 제외하려는 경우에 유용합니다.

그러나 이는 사용자를 제외하는 경우에는 거의 효과적이지 않습니다. 파일 소유자는 권한을 변경할 수 있는 권한도 있으므로 소유자는 다음을 수행할 수 있습니다.

chmod u+rwx /storage/sdcard0

그러나 사용자가 사용할 수 없는 제한된 환경에 있는 경우에는 chmod이 방법이 잘 작동할 수 있습니다 .

답변4

다음과 같이 실행해 보세요.

newgrp aid_sdcard_rw 
ls /storage/sdcard0/

관련 정보