ext4 외장 드라이브의 권한 문제

ext4 외장 드라이브의 권한 문제

서버에 연결된 외장 하드 드라이브에 대한 권한 관련 이상한 오류가 발생했습니다. Transmission을 활성화하여 해당 폴더에 토렌트를 다운로드하려고 했지만 권한 오류로 인해 디렉터리를 생성할 수 없다는 것을 발견했습니다.
직접 테스트한 결과 사용자로 실행 중인 데몬이 자신 transmission이 소유한 폴더 내에 디렉터리를 생성할 수 없음 을 확인했습니다.755화권한.
나는 그것이 이상한 inode 헛소리일지도 모른다고 생각했지만 fsck모든 것이 잘 돌아왔고 모든 것이 정상적으로 보였습니다.

matoro@matoro-server ~ $ ls -i /run/media/matoro/drive-data
total 40
43253761 drwxr-xr-x  5 matoro       matoro        4096 Apr 11  2017 backup
11796481 drwxr-xr-x  3 matoro       matoro        4096 Oct 28 22:40 iso
37568568 drwxr-xr-x  2 matoro       matoro        4096 Apr 23  2017 pending
42336296 drwxr-xr-x  3 matoro       matoro        4096 Oct 25 01:26 podcasts
38141969 drwxr-xr-x 39 matoro       matoro       12288 Sep 18 22:05 reading
37519377 drwxr-xr-x  3 transmission transmission  4096 Oct 30 17:10 seeding
37490784 drwxr-xr-x  4 matoro       matoro        4096 Oct 30 17:09 videos
42336292 drwxr-xr-x  3 matoro       matoro        4096 Oct 25 01:23 youtube
matoro@matoro-server ~ $ ls -ia /run/media/matoro/drive-data/seeding
total 912160
37519377 drwxr-xr-x  3 transmission transmission      4096 Oct 30 17:10  .
       2 drwxr-xr-x 11 matoro       matoro            4096 Nov  3 14:56  ..
37584902 drwxr-xr-x  3 transmission transmission      4096 Aug 10  2016 'some directory'
37488367 -rw-r--r--  1 transmission transmission 430297088 Aug 14  2016  some_file
matoro@matoro-server ~ $ sudo -u transmission mkdir -v /run/media/matoro/drive-data/seeding/test
mkdir: cannot create directory ‘/run/media/matoro/drive-data/seeding/test’: Permission denied

다음은 관련 설치 옵션입니다.

/dev/sdc3 on /run/media/matoro/drive-data type ext4 (rw,nosuid,nodev,noexec,noatime,data=ordered,uhelper=udisks2)

원인은 무엇일까요? ACL과 관련이 있을까요?

답변1

명령 은 mkdir디렉터리 구조를 탐색하여 기존 디렉터리를 찾은 다음 /run/media/matoro/drive-data/seeding해당 디렉터리에 항목을 추가해야 합니다. 필요한 권한은 다음과 같습니다.

  1. x특허/
  2. x특허/run
  3. x특허/run/media
  4. x특허/run/media/matoro
  5. x특허/run/media/matoro/drive-data
  6. w그리고 x허가/run/media/matoro/drive-data/seeding

(물론, 모두 디렉터리여야 하며, 생성하려는 디렉터리가 존재하지 않아야 합니다)

그 중 하나를 놓쳤을 것입니다(아마도 #4 또는 #5). /run/media/matoro/drive-data/seeding이는 프로세스가 이미 현재 디렉토리로 가지고 있는 경우에 발생할 수 있습니다(디렉토리에 들어간 후 상위 디렉토리 권한이 변경된 경우 또는 프로세스가 uids 로 전환한 경우). mkdir test권한 #6만 필요한 경우( wx현재 디렉터리에서) 성공하지만 동일한 위치를 참조하더라도 mkdir /run/media/matoro/drive-data/seeding/test모든 권한이 필요합니다.x

여러 구성 요소가 포함된 절대 경로 또는 상대 경로를 사용하는 경우 x언급한 각 상위 디렉터리에 대한 권한 확인이 수행됩니다.

관련 정보