그룹 내의 사용자는 NTFS로 마운트된 로컬 디스크에서 chmod를 수행할 수 없습니다.

그룹 내의 사용자는 NTFS로 마운트된 로컬 디스크에서 chmod를 수행할 수 없습니다.

/etc/fstab을 통해 Ubuntu 시스템에 로컬 SSD 디스크가 마운트되어 있습니다.

/dev/sdb2 /media/Store ntfs-3g rw,nosuid,nodev,default_permissions,umask=0002,uid=deniss,gid=deniss 0 0

나는 그 드라이브에 있는 무엇이든 읽고 쓸 수 있습니다. 이제 nginx와 php-fpm을 설치하고 www-data내 그룹과 www-data내 그룹에 추가하여 두 그룹의 파일을 편집할 수 있습니다.

$ groups deniss
deniss : deniss adm cdrom sudo dip www-data plugdev lpadmin lxd sambashare

$ groups www-data
www-data : www-data deniss

nginx 사용자(www-data)는 마운트된 공유의 모든 파일을 읽고 쓸 수 있지만 드라이브에서 chmod 파일을 시도할 때 문제가 시작됩니다.

$ sudo -u www-data chmod 644 test.txt
chmod: changing permissions of '/media/Store/file.txt': Operation not permitted

파일을 chmod하기 위해 www-data가 필요한 것은 아니지만 드라이브에서 로컬 웹사이트가 실행되고 있고 chmod가 때때로 라이브러리와 프레임워크에 통합되어 비활성화할 수 없습니다.

답변1

NTFS는 Unix 파일 시스템이 아니며 Unix 소유권, 그룹 또는 권한을 사용할 수 없습니다.

NTFS 파일 시스템이 Linux에 마운트되면 하나의 사용자와 하나의 그룹이 모든 파일 및 디렉터리의 소유권을 시뮬레이션하는 데 사용되며, NTFS 마운트의 모든 파일/디렉터리에도 하나의 권한 집합이 사용됩니다.

이것이 default_permissions,umask=0002,uid=deniss,gid=deniss귀하의 /etc/fstab진입 섹션이 설정하는 것입니다.

답변2

ntfs-3g드라이버는 실제로 UNIX 스타일의 소유권, 그룹 및 기본 권한과 동등한 기능을 제공합니다. 기본적으로 드라이버는 Linux 사용자 및 그룹 ID가 Windows 보안 ID(줄여서 SID)로 표시되어야 하는 방법을 모르기 때문에 이 작업을 수행하지 않습니다.

그러나 각 관련 Linux UID 및 GID에 해당하는 Windows SID를 식별하는 매핑 파일을 생성하여 (귀하의 경우) 에 배치하면 및 /media/Store/.NTFS-3G/UserMapping와 같은 chmod명령은 chown대부분 예상대로 작동합니다(setuid/setgid/sticky 비트 제외). SID 매핑이 존재하는 사용자 및 그룹만 참조되는 경우.

자세한 내용은 의 USER MAPPING단락을 참조하세요 man ntfs-3g. 이 ntfsusermap명령은 특정 Windows 사용자 또는 그룹 SID로 파일을 식별하고 해당 Linux 사용자 또는 그룹이 무엇인지 확인한 다음 파일 시스템의 모든 기존 SID가 매핑될 때까지 프로세스를 반복하여 이러한 매핑 파일을 생성하는 데 도움이 됩니다. 더 이상의 매핑 생성을 중단하고 싶습니다.

~에서https://jp-andre.pagesperso-orange.fr/ntfsusermap.htmlWindows를 실행하는 동안 매핑 파일을 만드는 것이 더 편리한 경우 ntfsusermap도구의 Windows 버전뿐만 아니라 사용 예도 찾을 수 있습니다. ntfsusermap매핑해야 합니다.)

관련 정보