Ubuntu – How to correctly mount a NTFS partition in /etc/fstab

automountfstabpermissions

After a nasty episode (my second, you'd think I'd learn) caused by unsupervised automated podcast downloads filling my entire partition, I've finally moved just ~/Music to its own partition. The partition I'm using was already formatted NTFS (this is the genius part: when I got this computer three years ago, I actually set it up with a 20G music partition precisely because I'd had this problem before, but I never actually organized myself to store music on it. So that's my backstory. Here's what I need now:

I have two partitions that I want to start mounting on startup:

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

The ext4 partion mounts fine (owned by me, writeable only by me), but the ntfs mounts owned by root with read and write permission for all. I'm not sure how to fix this. Is there something quirky about ntfs or did I do something elsewhere that's causing this problem?

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

Best Answer

  • Permissions for ntfs and vfat file systems must be set with the dmask, fmask and umask options. dmask controls permissions for directories, fmask controls permissions for files, and umask controls both. Since these options set masks, they should be the complement of the permissions you want. For example, rwx for the owner and rx for others is 022 rather than 755.

    To set the owner, use the uid and gid options for user and group, respectively. You can find your UID with the command id -u. To find your GID, use id -g. These values are both usually 1000.

    A common set of mount options for ntfs is uid=1000,gid=1000,dmask=027,fmask=137. This sets you as the owner of the drive, and sets the permissions to drwxr-x---.

    Here are two lines from my /etc/fstab working

    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
    

    If you get no visible error after rebooting and partitions stay readonly or you get an error similar to:

    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
    

    This is because Windows 8 and 10 offer a "Fast Startup" option that depends on a "non-complete" shutdown. You can disable fast startup by following these steps under "Power Options".