Windows 파티션 마운트 모범 사례


13

랩탑에서 Windows와 Debian의 이중 부팅을 실행하고 있습니다. Linux를 주로 사용하지만 때때로 Windows 파티션의 파일에 액세스해야합니다. 시작시 내 Windows 파티션이 다음과 같이 마운트됩니다.

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

기본적으로 Windows 파티션의 모든 파일은 root : root가 소유하며 777 권한이 있습니다. 그런 다음 작업중 인 (Linux) 파티션에 파일을 mv 할 때마다 내 소유의 파티션 아래에 777 파일이 있습니다 (터미널의 cp는 755 파일을 제공하지만 gnome을 통해 수행하면 777 권한으로 파일을 저장합니다) .

이것이 파티션을 마운트하는 가장 좋은 방법입니까? 아니면 루트 대신 모든 파일 / 디렉토리의 소유자이며 마운트시 부팅시 모든 디렉토리를 755로 설정하고 파일을 644로 설정할 수 있도록 마운트해야합니까? 그렇다면 어떻게 할 수 있습니까?


2
작은 tidbit (uooc ...) :grep Win7 /etc/fstab
Olivier Dulac

답변:


17

옵션 * 을 사용 fmask하고 dmask마운트 하여 ntfs 파일 시스템의 권한 매핑을 변경할 수 있습니다 .

파일을 표시 rw-r--r--(644)하고 디렉토리 rwxr-xr-x(755)를 사용하려면을 사용하십시오 fmask=0133,dmask=0022. 사용자 에게 쓰기 권한이 필요한 경우이 옵션 uid=gid=옵션을 결합 하여 파일 소유자 및 그룹을 선택할 수 있습니다.

* fmaskdmask커널에 대한 작동하는 것 (읽기 전용) 드라이버뿐만 아니라, 그들이에 설명되지 않은 경우에도 것을 man 페이지를 장착 . 그들은 ntfs-3g에 대한 문서화 된 옵션입니다.


내 기본 umask는 이미 0022입니다. 그러나 Win7에서 내 집으로 터미널을 사용하여 파일을 mv 할 때 파일은 여전히 ​​777입니다.
albertma789

2
응답의 fmask 및 dmask는 마운트 옵션 입니다. fstab에서 파일 시스템을 변경하고 파일 시스템을 다시 마운트하면 Windows 파일 시스템의 파일 / 디렉토리가 777/777 대신 644/755 권한으로 나타납니다.
sebasth

5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0매력처럼 작동합니다. 정확히 내가 필요한 것!
albertma789

특정 드라이브가 아닌 특정 파일 시스템 (FAT32 / NTFS)에 대해 이러한 기본값을 설정할 수 있습니까? 플래시 드라이브 및 기타 이동식 미디어를 사용할 때이 기능을 사용하는 것이 좋습니다.
JAB


7

우선 이것은 / mnt를 사용하는 방법이 아닙니다. 이는 모든 시스템 부팅이 아닌 파일 시스템에서 관리 작업을 수행하기위한 것입니다.

Windows 파티션은 Linux 시스템 실행의 일부가 아니므로 / media에 마운트하는 것이 좋습니다. 이동식 미디어에 대한 / media에 대한 혼동을 피하기 위해 root / as / Windows에 마운트하는 것을 고려할 수도 있습니다.

권한에 관해서는 windows라는 그룹을 사용합니다.

groupadd -g 1001 Windows

다음과 같은 옵션으로 원하는 권한을 부여하십시오.

gid=1001,umask=022

cp를 사용하고 별도의 파일 시스템간에 권한 유지 하려면 -p 또는 -a 플래그와 함께 cp를 사용하십시오.


내 기본 umask는 이미 0022입니다. 그러나 Win7에서 내 집으로 터미널을 사용하여 파일을 mv 할 때 파일은 여전히 ​​777입니다. 대신 / media에 마운트하는 것이 좋습니다.
albertma789

파일 시스템간에 파일을 복사 할 때 파일 시스템을 보존하지 않으면 해당 파일 시스템에 대한 기본 권한이 사용됩니다. 업데이트 된 답변을 참조하십시오.
jdwolf

/mnt마운트 포인트에는 최적이 아니지만 동의 는 /media이동식 미디어 (예 : DVD 및 USB 드라이브)입니다. 나는 반드시이 발생하도록되어 마운트 좋은 답변이 아니에요 : unix.stackexchange.com/questions/29134/...
StrongBad

@StrongBad 파일 시스템 계층 표준은 특히 오래된 유닉스 디렉토리 이후의 디렉토리에서는 그렇게 표준 적이 지 않습니다. 예를 들어, FHS 2.3에는 현재 / run 관행이 반영되어 있지 않습니다. FHS 3.0 refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html을 참조하십시오. 여기에는 / mnt를 사용하지 않는 것이 더 중요 하지만 합리적인 것은 "기술적으로 Windows는 이동식 미디어가 아닙니다"보다 명확합니다. / root에 자신의 디렉토리를 마운트하는 데 아무런 문제가 없다는 것입니다.
jdwolf

4

마운트 옵션을 사용하여 uid, gid, fmask그리고 dmask당신은 전체 NTFS가 일반 사용자 계정 및 / 또는 한 그룹에 액세스 할 특정 파일 시스템 할 수 있습니다. NTFS 파일 시스템과 관련하여 Windows에서 항상 전체 관리자로 실행하거나 Linux에서 루트로 모든 것을 수행하는 것과 같습니다. ntfs-3gNTFS 파일 시스템 드라이버는보다 더 잘 할 수 있습니다.

당신이 사용하는 경우 ntfs-3g, 당신은 사용할 수 있습니다 ntfsusermap당신의 NTFS 파일 시스템 (들)에 대한 사용자 매핑 파일을 생성하는 명령을 사용합니다. 이 명령은 Windows 사용자 이름과 해당 Windows SID를 식별하고이를 Linux 사용자 및 그룹 ID와 연관시키는 데 도움이됩니다.

이러한 방식으로 Windows 사용자 계정의 SID를 Linux UID에 연결할 수 있습니다. 이렇게하면에 사용자 매핑 파일이있는 NTFS 파일 시스템을 마운트 한 후에는 <NTFS filesystem root>/.NTFS-3G/UserMapping일반 Linux 사용자 계정을 사용하여 Windows 사용자 계정이 액세스 할 수있는 것처럼 NTFS 파일 시스템에 액세스 할 수 있습니다. Windows에서 관리자 권한이 필요한 경우에도 Linux에서 루트가 필요합니다.

이렇게하면 Windows 파티션의 파일에 편리하게 액세스 할 수 있지만 \Windows루트로 실행하지 않는 한 잘못 입력 한 명령으로 디렉토리 를 엉망으로 만들 수 없습니다.

windows_namesWindows가 액세스 할 수없는 이름의 파일을 실수로 만들지 않도록 NTFS 파티션 에서 마운트 옵션 을 사용할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.