noexec를 사용하는 ntfs의 umask, fmask, dmask의 fstab 마운트 옵션

noexec를 사용하는 ntfs의 umask, fmask, dmask의 fstab 마운트 옵션

ntfs 파티션이 있고 fstab에서 기본 옵션을 사용하여 마운트하면 파일과 디렉터리가 표시됩니다. rwxrwxrwx = 0777 분명히 ntfs는 "noexec" 옵션을 지원하지 않으며 파일과 디렉터리에 "x"가 있는 것을 원하지 않습니다. " 깃발 . 그럼 fmask, dmask, umask에 어떤 값을 설정해야 하는지 묻고 싶습니다. umask=0666으로 설정했을 때

/dev/sda3       /ntfsPartition  ntfs-3g     defaults,noatime,umask=0666,locale=en_US.utf8,errors=ro 0 0

파티션의 마운트 디렉토리로 d--x--x--x를 얻습니다. 다음 디렉토리로 이동할 수 있습니다.

cd /ntfsPartition

하지만 내용을 읽을 수 없습니다.

ls /ntfsPartition
ls: cannot open directory '.': Permission denied

미리 감사드립니다!

답변1

x플래그는 디렉토리의 내용에 액세스하기 위해 필요합니다.

디렉토리의 플래그 만 사용하면 r디렉토리 목록을 얻을 수 있지만 그 안에 있는 파일과 하위 디렉토리에는 액세스할 수 없습니다. 디렉토리에 플래그 만 있으면 x디렉토리 목록이 표시되지 않지만 권한이 허용하는 경우 파일 및 하위 디렉토리에 액세스할 수 있습니다.액세스하려는 콘텐츠의 정확한 이름을 지정할 수 있습니다.r-x따라서 대부분의 경우 디렉터리에 대해 일반적으로 유용한 두 가지 권한 선택 사항인 및 가 있습니다 rwx.

따라서 umask마운트 옵션은 파일과 디렉터리 모두에 적용되고 해당 플래그를 파일에 사용하고 싶지 않기 때문에 파일에 한 가지 권한 집합을 부여하고 디렉터리에 다른 권한 집합을 부여하는 용도로만 and를 x사용해야 합니다 .fmaskdmask

권한 및 해당 마스크 번호:

  • rwx= 마스크 번호 0
  • rw-=마스크 번호 1(디렉토리에는 별로 유용하지 않음)
  • r-x= 마스크 번호 2
  • r--= 마스크 번호 3
  • -wx= 마스크 번호 4(특수 사례: "쓰기 전용 디렉터리"에 대한 근사치)
  • -w-=마스크 번호 5(디렉토리에는 별로 유용하지 않음)
  • --x= 마스크 번호 6(디렉토리의 경우: 알려진 파일 이름으로만 액세스)
  • ---=마스크번호 7(접근불가)

디렉토리와 x파일 플래그를 제외한 모든 것에 대한 전체 액세스를 원할 경우 해당 dmask숫자와 1숫자 로 0이 필요합니다 fmask.

NTFS-3g 마스크 번호의 경우 첫 번째 숫자는 항상 0이며 이는 값이 8진수임을 나타냅니다. 두 번째 숫자는 uid=이 옵션으로 지정된 사용자(또는 지정되지 않은 경우 설치를 수행한 사용자)에 대한 액세스 권한을 지정하고, 세 번째 숫자는 gid=이 옵션으로 식별된 그룹에 대한 액세스 권한을 지정하며, 마지막 숫자는 각각에 대한 액세스 권한을 지정합니다. 개별 액세스 권한은 다양합니다.

이것이 개인 시스템이고 다른 사용자가 NTFS 파일 시스템에 액세스할 필요가 없는 경우 이 id명령을 사용하여 UID 번호를 식별한 다음 마운트 옵션을 사용할 수 있습니다 uid=<your UID here>,dmask=0077,fmask=0177. 이렇게 하면 NTFS 파일 시스템의 모든 파일이 사용자가 소유하고 권한이 있는 것처럼 나타나며 -rw-------디렉터리는 drwx------.

NTFS 파일 시스템에 액세스해야 하는 다른 사용자가 있는 경우 NTFS 액세스를 위한 그룹을 생성하고 모든 해당 사용자를 그룹에 추가한 다음 마운트 옵션에서 그룹의 GID를 지정할 수 있습니다 uid=<your UID here>,gid=<NTFS access group GID here>,dmask=0007,fmask=0117. 이렇게 하면 그룹의 모든 사람에게 귀하와 동일한 액세스 권한(파일 -rw-rw----및 디렉터리) 이 부여됩니다 drwxrwx---.

또는 자신에게는 쓰기 액세스 권한을 유지하고 그룹 구성원에게는 읽기 전용 액세스 권한을 부여할 수 있습니다 uid=<your UID here>,gid=<NTFS access group GID here>,dmask=0027,fmask=0137. 그러면 -rw-r-----파일 및 drwxr-x---디렉터리 권한이 부여됩니다 .

또는 여러 사용자 계정에 전체 액세스 권한을 부여하고 다른 사용자 계정에는 읽기 전용 액세스 권한을 부여하려는 경우 마운트 옵션은 다음과 같습니다 uid=<your UID here>,gid=<NTFS access group GID here>,dmask=0002,fmask=0113. 그러면 -rw-rw-r--파일 및 drwxrwxr-x디렉터리 권한이 부여됩니다 .


마운트 옵션을 사용하여 NTFS 파일 및 디렉터리에 대한 권한을 지정하는 것 외에도사용자 매핑 파일Windows NTFS 보안 ID(SID)를 Unix 스타일 UID 및 GID에 매핑합니다. ntfsusermap이 파일을 생성하는 데 도움이 되는 도구 도 있습니다 . 매핑 파일을 생성한 후 넣기만 하면 <root of NTFS filesystem>/.NTFS-3G/UserMapping다음 번에 파일 시스템을 마운트할 때 자동으로 사용됩니다. 이후에는 실제 NTFS 파일 소유권 및 권한이 Linux(해당되는 경우)에서 사용되며 chown// 를 사용하여 chgrp유지할 수도 있습니다 chmod.

자세한 내용은 및 를 참조하세요 man ntfs-3g.man ntfsusermap

Linux와 Windows를 이중 부팅하는 경우 다음이 필요할 수 있습니다.Windows 명령줄 버전ntfsusermap그리고 Windows를 실행할 때 사용자 매핑 파일을 생성합니다. Windows 버전의 도구를 사용하면 파일 이름 및 관련 SID뿐만 아니라 실제 Windows 사용자 이름도 볼 수 있으므로 이 작업이 더 쉬울 수 있습니다.

Windows 버전이 필요하지 않더라도 ntfsusermap이 페이지에는 도구 사용 방법에 대한 자세한 지침이 포함되어 있으며 이는 Linux 측에도 도움이 될 수 있습니다.

관련 정보