ntfs-3g usermap을 사용하여 "다른 사용자가 귀하의 데이터 디렉터리를 읽을 수 있습니다" 오류를 해결하는 방법

ntfs-3g usermap을 사용하여 "다른 사용자가 귀하의 데이터 디렉터리를 읽을 수 있습니다" 오류를 해결하는 방법

나는 명령을 사용한다

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입니다.도메인 사용자모든 일반 도메인 사용자 계정을 포함하는 그룹입니다.

chownNTFS-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 용어로 EveryoneACL 항목)입니다.) 걱정됩니다.

관련 정보