/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
매핑해야 합니다.)