서버에 연결된 외장 하드 드라이브에 대한 권한 관련 이상한 오류가 발생했습니다. 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
해당 디렉터리에 항목을 추가해야 합니다. 필요한 권한은 다음과 같습니다.
x
특허/
x
특허/run
x
특허/run/media
x
특허/run/media/matoro
x
특허/run/media/matoro/drive-data
w
그리고x
허가/run/media/matoro/drive-data/seeding
(물론, 모두 디렉터리여야 하며, 생성하려는 디렉터리가 존재하지 않아야 합니다)
그 중 하나를 놓쳤을 것입니다(아마도 #4 또는 #5). /run/media/matoro/drive-data/seeding
이는 프로세스가 이미 현재 디렉토리로 가지고 있는 경우에 발생할 수 있습니다(디렉토리에 들어간 후 상위 디렉토리 권한이 변경된 경우 또는 프로세스가 uids 로 전환한 경우). mkdir test
권한 #6만 필요한 경우( w
및 x
현재 디렉터리에서) 성공하지만 동일한 위치를 참조하더라도 mkdir /run/media/matoro/drive-data/seeding/test
모든 권한이 필요합니다.x
여러 구성 요소가 포함된 절대 경로 또는 상대 경로를 사용하는 경우 x
언급한 각 상위 디렉터리에 대한 권한 확인이 수행됩니다.