How to mount a NTFS partition in /etc/fstab?
I have two partitions that I want to mount on startup:
/dev/sda3 /mnt/devel ext4 defaults 0 2
/dev/sda2 /mnt/excess ntfs defaults 0 2
The ext4
partition mounts fine (owned by me, writable only by me), but the NTFS
mounts owned by root
with R\W permission for all.
How to fix this?
drwxr-xr-x 7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx 1 root root 4096 2012-03-14 22:38 excess
Solution 1:
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".
Solution 2:
If you mount the ntfs partition with the permissions option, then chmod / chown will work
/dev/sda2 /mnt/excess ntfs-3g permissions,locale=en_US.utf8 0 2
You can then
sudo chown your_user:your_user /mnt/excess
Easier then uid,dmask,fmask.