/etc/fstab에 NTFS 파티션을 마운트하는 방법은 무엇입니까?

/etc/fstab에 NTFS 파티션을 마운트하는 방법은 무엇입니까?

시작 시 마운트하려는 두 개의 파티션이 있습니다.

/dev/sda3   /mnt/devel  ext4    defaults    0   2
/dev/sda2   /mnt/excess ntfs    defaults    0   2

파티션은 ext4잘 마운트되지만(내가 소유하고 나만 쓸 수 있음) R\W 권한이 NTFS있는 마운트는 모두에 대해 소유합니다.root

이 문제를 해결하는 방법은 무엇입니까?

drwxr-xr-x  7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx  1 root   root   4096 2012-03-14 22:38 excess

답변1

ntfs 및 vfat 파일 시스템에 대한 권한은 및 옵션을 사용하여 설정 dmask해야 fmask합니다 umask. dmask디렉터리에 대한 권한을 제어하고, fmask파일에 대한 권한을 제어하며, umask둘 다를 제어합니다. 이 옵션이 설정되었으므로마스크, 이는 원하는 권한을 보완해야 합니다. 예를 들어 소유자의 rwx와 다른 소유자의 rx는 755가 아닌 022입니다.

소유자를 설정하려면 사용자 및 그룹에 대해 각각 uid및 옵션을 사용합니다. gid명령을 사용하여 UID를 찾을 수 있습니다 id -u. GID를 찾으려면 를 사용하세요 id -g. 이 값은 일반적으로 둘 다 1000입니다.

ntfs에 대한 일반적인 마운트 옵션 세트는 uid=1000,gid=1000,dmask=027,fmask=137. 이렇게 하면 귀하가 드라이브의 소유자로 설정되고 권한이 로 설정됩니다 drwxr-x---.

다음은 작동하는 /etc/fstab의 예입니다.

UUID=EEA2B69CA2B668AB        /WIN_C     ntfs-3g   defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0 
UUID=65AEC0E830EA0497        /WIN_D     ntfs-3g   rw 0 0
  • 얻으려면UUID파티션의 경우 ls -l /dev/disk/by-uuid/또는 lsblk -f | grep -v loop또는을 사용할 수 있습니다.그놈 디스크

  • 재부팅 후 눈에 띄는 오류가 발생하지 않고 파티션이 읽기 전용으로 유지되거나 다음과 유사한 오류가 발생하는 경우:

    Error mounting /dev/sda6 at /media/WindowsDrive: 
    Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0). 
    Metadata kept in Windows cache, refused to mount. 
    Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state. 
    Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount option

이는 Windows 8 및 10이 "비완전" 종료에 따른 "빠른 시작" 옵션을 제공하기 때문입니다. 다음을 수행하여 빠른 시작을 비활성화할 수 있습니다.단계"전원 옵션"에서.

UUID=01D9318DD8A39810  /run/media/$user/Win11   ntfs-3g uid=$user,gid=$user,umask=0022 0 0
UUID=01D9317B8D647610  /run/media/$user/Storage ntfs-3g uid=$user,gid=$user,umask=0022 0 2

위의 예에서 win11은 읽기 전용으로 마운트되고 저장소는 읽기-쓰기로 마운트됩니다.

& 그들은 /run/media/$user 폴더에 마운트되어 있으므로 파일 관리자에 드라이브로 표시됩니다. 또한 $user를 사용자 이름으로 바꾸는 것을 잊지 마십시오.

답변2

권한 옵션을 사용하여 ntfs 파티션을 마운트하면 chmod / chown이 작동합니다

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

그러면 할 수 있습니다

sudo chown your_user:your_user /mnt/excess

uid,dmask,fmask보다 더 쉽습니다.

답변3

재부팅하면 디스크 이름이 바뀌어서 문제가 좀 있었습니다... (sda0에서 sdb2로)

fstab에서 UUID로 마운트하여 문제를 해결했습니다. 다음을 입력하여 하드 드라이브의 UUID를 볼 수 있습니다.sudo blkid

fstab 파일을 백업하십시오.

sudo cp /etc/fstab /etc/fstab.orig

>>를 세 번 확인하세요. 하나를 배치하면 > fstab을 덮어쓰게 됩니다!

sudo blkid >> /etc/fstab

여전히 문제가 있는 경우 fstab을 원본으로 교체할 수 있습니다.

sudo cp /etc/fstab.orig /etc/fstab

다음으로 폴더를 만듭니다.

sudo mkdir /media/mydrivename

fstab을 구성합니다.

sudo vim /etc/fstab

행 시작 부분에 '#'을 사용하여 blkid의 출력에 주석을 달는 것을 잊지 마십시오!

이것을 fstab 파일에 추가하면 위의 명령으로 삽입한 하단의 블록에서 UUID를 찾을 수 있습니다.미디어/내드라이브이름파티션이 마운트되어야 하는 곳입니다.

UUID=xxxxxxxxxxxxxxxxx   /media/mydrivename ntfs    permissions,locale=en_US.utf8    0   2

이것은 내 fstab 파일입니다.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none            swap    sw              0       0

# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2

# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2

#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs" 
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs" 
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs" 
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs" 
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap" 
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4" 
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs" 
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs" 
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs" 
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" 

다음을 입력하여 시스템을 재부팅합니다.

sudo reboot

파티션이 마운트되었는지 확인하려면 df -k.

자신에게 소유권을 부여하세요.

sudo chown -R USERNAME:USERNAME /media/mydrivename

Ubuntu Server 14.04.01에서 이 작업을 수행했습니다.!

이 답변이 누군가에게 도움이 되기를 바랍니다 ;-)

답변4

마운트 시 권한을 올바르게 제공하는 다음을 사용합니다(이중 부팅 시스템 설정의 NTFS 드라이브).

편집하다 /etc/fstab:

UUID는 다음에서 찾을 수 있습니다 /dev/disk/by-uuid/(일반적으로 에 매핑됨 /dev/sd*).

<your uuid>UUID로 바꾸세요

UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0

관련 정보