나는 명령을 사용한다
ntfsusermap /dev/sda1
데비안 기반 Linux 배포판을 사용하여 NTFS USB 외부 드라이브(Windows에서 이미 작성된 많은 드라이브)를 사용하기 위한 매핑 파일을 생성합니다. 이 명령을 실행하면 다음과 같은 내용이 표시됩니다.
따라서 내 Linux 계정 UID인 1000을 입력하면 다음 메시지가 표시됩니다.
문제를 일으킬 수 있는 그룹을 정의하지 않았습니다. 표준 그룹 정의를 수락하십니까?
그룹 GID를 입력하는 단계가 나타나지 않고 그룹 없이 매핑 파일을 계속 생성하거나 프로세스를 중단하기 위해 Enter를 클릭할 수 있는 옵션이 없기 때문에 이유를 모르겠습니다. 생성된 매핑 파일의 구조는 다음과 같습니다.
# Generated by ntfsusermap for Linux, v 1.2.0
:p1:S-1-5-21-7728005000-258166423-2201256221-513
p1:p1:S-1-5-21-7728005000-258166423-2201256221-1001
마지막 줄은 S-1-5-21-7728005000-258166423-2201256221-1001
외장 하드 드라이브에 이미 존재하는 파일에 쓰는 데 사용되는 Windows 사용자 계정의 SID와 정확히 일치합니다.
이제 일부 서버 응용 프로그램에서 이런 방식으로 생성된 매핑 파일을 사용하려고 하면 다음 메시지가 나타납니다.
귀하의 데이터 디렉토리는 다른 사용자가 읽을 수 있습니다
다른 사용자가 디렉토리를 나열할 수 없도록 권한을 0770으로 변경해 주세요.
유사한 문제를 방지하려면 드라이브를 어떻게 매핑해야 합니까?
답변1
-1001
알겠습니다. 사용자 SID( 로 끝남 )와 그룹 SID( 로 끝남 -513
)가 Linux 사용자 계정 p1
과 해당 개인 그룹 에 각각 매핑되어 있는 것 같습니다 p1
.
SID 매핑을 논의할 때 몇 가지 사항을 아는 것이 중요할 수 있습니다.Windows의 잘 알려진 SID입니다.
형식의 SID S-1-5-21-<domain_specific_part>-513
는 잘 알려진 SID입니다.도메인 사용자모든 일반 도메인 사용자 계정을 포함하는 그룹입니다.
chown
NTFS-3g 드라이버를 사용하여 마운트된 파일 시스템에 SID 매핑이 적용되면 클래식 Unix 스타일 chgrp
및 명령을 사용할 수 있어야 하며 chmod
드라이버는 해당 NTFS ACL을 자동으로 생성합니다. 클래식 Unix 스타일이 너무 제한적이라면 getfacl
/를 setfacl
사용하여 Posix 스타일 ACL(드라이버에 의해 NTFS ACL로 변환됨)을 사용할 수도 있습니다 (NTFS-3g 드라이버가 컴파일될 때 이 기능이 활성화된 경우).
정보
귀하의 데이터 디렉토리는 다른 사용자가 읽을 수 있습니다
다른 사용자가 디렉토리를 나열할 수 없도록 권한을 0770으로 변경해 주세요.
문제의 응용 프로그램은 단순히 Unix 스타일 권한을 살펴본 결과 해당 응용 프로그램의 취향에 비해 너무 허용적인 것으로 나타났습니다. 분명히 Unix 스타일로 볼 때 데이터 디렉터리 권한은 최소한 입니다 drwx???r-x
. Unix 스타일 소유자 및 그룹이 로 표시된다고 가정하면 p1
실제 기본 NTFS ACL은 다음과 같습니다.
- 사용자
p1
: 모든 권한 - 도메인 사용자: ???(권한이 어떻게 설정되어 있는지 알려주는 내용은 공개하지 않았지만
p1
현재 그룹은 잘 알려진 "도메인 사용자" SID에 매핑되어 있습니다.) - 모든 사람: 읽기(모든 권한 포함)
응용 프로그램은 마지막 부분에 대해 걱정합니다. 그러나 그 제안은 요점을 놓치고 있습니다. 을 사용하면 chmod 770 <data_directory_pathname>
오류 메시지를 피할 수 있지만 그룹에 대한 전체 액세스가 설정됩니다(중간 7
, 그룹 권한에 매핑됨 rwx
)... 그리고 SID 확인을 통해 이제 실제로 관련된 그룹은 위의 "도메인 사용자"라는 것을 알 수 있습니다. "이며 도메인의 모든 일반 Windows 사용자는 이 그룹에 속합니다! 그래서 그것은 그다지 보호적이지 않을 것입니다.
응용 프로그램의 "데이터 디렉터리"가 비공개여야 하는 경우 응용 프로그램에서 제안하는 것처럼 두 가지 옵션이 있습니다.
1.) SID 매핑을 현재 그대로 유지하고 응용 프로그램 데이터 디렉터리에 대한 권한을 사용 chmod 700 <data_directory_pathname>
하거나 설정하여 Linux (Windows 및 Linux)에서 볼 때 디렉터리에 대한 액세스를 사용자로만 제한할 수 있습니다 .chmod go-rwx <data_directory_pathname>
drwx------
p1
2.) 또는 적절한 Windows를 만들 수 있습니다그룹데이터 디렉토리의 경우 해당 Linux 그룹의 이름을 p1
. 그런 다음 Windows 그룹의 SID를 매핑 파일로 편집하거나 ntfsusermap
파일 시스템에 있는 하나 이상의 NTFS ACL에서 Windows 그룹을 사용하여 도구를 다시 실행합니다.
응용 프로그램 자체가 drwxrwx---
데이터 디렉터리에 대한 권한을 0770으로 제안하므로 그룹에 대한 전체 액세스 권한 부여에 대해 불평하지 않을 것입니다(즉, 이는 권한의 마지막 세 가지("기타" 세 가지 또는 Windows 용어로 Everyone
ACL 항목)입니다.) 걱정됩니다.