/ media / user 폴더의 권한 문제로 외부 미디어에 액세스 할 수 없습니다


11

외장 하드 드라이브를 꽂거나 DVD를 넣거나 USB 드라이브에있는 것을 보려고 할 때 특이한 동작이 일반적인 결과입니다.

파일 시스템이 제대로 마운트됩니다. 를 통해 루트로 로그인 sudo su하면 /media/casper/externaldrive완벽하게 훌륭한 내용을 볼 수 있습니다 . 그러나 내 사용자 casper는 할 수 없습니다. 우분투는 위치와 관련된 모든 행동에 응답합니다 Permission denied:

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

/media폴더 의 권한 (문제)을 파기로 결정했습니다 . 로 casper, 나는 다음을 본다 :

casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x  4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x---  3 root root 4096 aug  3 21:02 casper/
lrwxrwxrwx  1 root root   45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx  1 root root   42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x  2 root root 4096 feb 29 23:56 home/

저를 강타한 것은 total 16최대 6 개의 목록 만있는 반면에 그렇습니다. 그래서 명령을 다시 실행했지만 root. 결과는 동일하고 이상했습니다. (누구든지 이것을 밝힐 수 있습니까?)

어쨌든, 나를 더욱 놀라게 한 것은 /media/casper디렉토리가 내 것이 아니며 나도 액세스 할 수 없다는 것입니다. 나는 chown -R그것에서 bazinkas에 유혹을 받았지만, 나 자신을 붙잡은 후에 나는 "Media user folder not mine help me"와 같은 것을 봤다.

시간이 걸렸지 만 마침내 사용자가 폴더 의 목적을 설명하는 스레드를 우연히 발견했습니다 750 root:root /media/user. 루트 만 파일 시스템을 마운트, 확인 및 관리 할 수 ​​있으며 개별 권한이 실제 사용자로 변경됩니다.

따라서 내 정보가 정확하면 /media/casper/externaldrive권한이 유리합니다. 나는 확인했다

root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root   root   4096 aug  3 21:02 ./
drwxr-xr-x 4 root   root   4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug  3 20:20 externaldrive/

그리고 이것은 사실 인 것 같습니다.

이것이 내가 붙어있는 곳입니다. 파일 시스템에는 디렉토리 트리를 통해 모든 권한이 있지만 단일 파일에 액세스 할 수 없습니다. 이것은 CD 및 USB 드라이브에서 동일합니다.

소중한 사람에게 도움을 줄 수있는 사람은 누구입니까?

아 그리고 그건 그렇고 앞에서 /media/user언급 한 스레드는 이러한 폴더에서 ACL에 대해 말하며 +, 다음과 같은 일반 권한 뒤에 표시됩니다 drwxr-x---+ 3 root root. 내 시스템은 이것을 보여주지 않습니다. 이 폴더의 ACL이 Ubuntu의 표준입니까? 아니면 사용자에게 특별한 일이 있었습니까? 내 문제가 어디에서 오는지 걱정해야합니까?

읽어 주셔서 감사합니다.


1
이중 부팅 설정 (16.04 및 Win7)을 사용하고 / media / user 폴더의 권한 끝에 +가 표시됩니다. 그래서 나는 당신의 문제가 어디에서 왔는지 생각합니다. Google 검색을 통해 이러한 ( 1 , 2 )를 찾았 지만 문제를 해결하기에 충분한 지 알기 전에 acl을 사용하지 않았습니다.
Karsus

2
ls총 카운트 1KB의 디렉토리에있는 파일에 의해 사용되는 블록, 비 재귀. unix.stackexchange.com/a/4110/44281을 참조하십시오 .
amotzg

@Karsus 감사합니다. 내 문제를 찾은 것 같습니다. 아래에서 Zanna의 답변을 시도하고 업데이트 할 것입니다. @ amotzg Aha, 일을 정리합니다. 감사합니다 :)
MicroParsec

호기심에서 "3"은 drwxr-x--- 3*무슨 뜻입니까?
thephoenix01

답변:


15

의 권한 및 소유권 /media/casper

drwxr-x---  root root 

+ACL ( 액세스 제어 목록 ) 이 없으면 루트 만이 디렉토리를 열거 나 입력하거나 읽거나 쓸 수 있습니다. 우리와 같은 겸손 사용자는 문자열의 끝에서 권한을 얻을 ---:(

권한이없는 사람들은 ACL을 사용하여이 위치에 액세스 할 수있는 권한을 갖습니다. 왜 당신이 이것들을 아직 가지고 있지 않은지 모르겠지만, 그것들을 설정할 수 있습니다. 간단하거나 약간 어설프게 필요할 수 있습니다.

  • acl필요 패키지 (체크 apt-cache policy acl)
  • 파일 시스템은 acl옵션 으로 마운트해야합니다

후자를 확인하려면 ( sdxY루트 파티션을 적절히 교체 하십시오) :

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

반환해야합니다 :

Default mount options:    user_xattr acl

기본 마운트 옵션은 /etc/mke2fs.conf

재정의 될 수 있으므로 다음을 확인하십시오.

cat /proc/mounts | grep sdxY

다음과 같이 보입니다.

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

위의 내용은 괜찮지 acl만 언급 noacl할 필요 는 없지만 변경해야 한다고 말합니다 .

다음과 같이 기본 마운트 옵션에 옵션을 추가 할 수 있습니다.

sudo tune2fs -o acl /dev/sdxY

또는 다음 acl과 같이 루트 파티션 라인 옵션에 추가 할 수 있습니다 /etc/fstab.

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

ACL을 활성화 한 상태에서 사용 setfacl권한을 추가하십시오. username/ media / casper에 대한 읽기 및 실행 권한 을 부여하려면 (디렉토리를 입력하거나 내용을 검색하려면 실행 권한이 필요합니다) :

sudo setfacl -m u:username:rx /media/casper

usernameuid로 바꿀 수 있습니다 (아마도 1000- id명령으로 확인하십시오 )

sudo setfacl -m u:1000:rx /media/casper

getfaclOli가 자신의 답변에서했던 것처럼 ACL 권한을 확인하려면

getfacl /media/casper

사용자로부터 ACL 권한을 제거하려면

sudo setfacl -x u:username /media/casper

모든 ACL 권한을 지우려면

sudo setfacl -b /media/casper

참고 :에 너무 많은 항목이있는 이유에 대해 속이고 직접 질문했습니다 /media. 대답은 여기


1
@Zanna에게 감사합니다 : apt-cache policy aclACL이 설치되어 있고 최신 버전을 반환합니다. Default mount options언급 acl. cat /proc/mount언급하지 않습니다 noacl. 그래서 나는 어떤 이유로 인해 ACL 권한을 수동으로 추가해야한다고 생각합니다. /media/casper디렉토리에 rx 권한을 부여하기 위해 설명한 명령을 사용했으며 외부 미디어에 다시 액세스 할 수 있다고 말하게되어 기쁩니다. 감사합니다 잔나!
MicroParsec

예, 당신이 그것을
고쳐서

2

Ubuntu에서 Windows 드라이브에 대한 액세스 권한을 부여하려는 경우

chmodWindows NTFS 드라이브 인 경우 일반 명령이 작동하지 않습니다.

다음은 나를 위해 작동합니다.

파일을여십시오 /etc/mtab:

gedit /etc/mtab

이 파일에서 드라이브 이름을 찾으십시오 (솔루션을 찾고있는 드라이브에서 마우스를 가져 가십시오. 내 경우에는 GUI가 다른 이름을 표시하고 마우스가 표시됩니다 /media/user-name/drive-name)

지금 /etc/mtab:

파일에서 드라이브 이름을 검색하고 마운트 된 드라이브가 할당 된 드라이브를 확인하십시오 (필자의 경우- /dev/sda4)

이제이 드라이브를 다음과 같이 마운트하십시오.

sudo ntfs-3g /dev/sda4 /media/"$USER"

이제 실행 파일을 실행할 수 있지만 drive-name의 내용을 볼 수 없으므로 드라이브를 마운트 해제했다가 다시 마운트했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.