Writing to NTFS drive in Linux

Posted on

Problem :

I’ve got an external USB drive that is formatted with NTFS mounted on ~/tmp. I can read it just fine, but cannot write to it, even as root (temp is a folder on the USB drive):

[root@Plugbox temp]# touch test
touch: cannot touch `test': Permission denied
[root@Plugbox temp]#

However, if I do a cat /proc/mounts, it looks like I do have NTFS read/write support:

[root@Plugbox temp]# grep /dev/sdb1 /proc/mounts
/dev/sdb1 /root/tmp ntfs rw,relatime,uid=0,gid=100,umask=02,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0
[root@Plugbox temp]#

Finally, if I go to the folder above temp, it looks like I should have plenty of permissions to write to the folder:

[root@Plugbox tmp]# ls -al
total 61500764
drwxrwxr-x 1 root users           0 Apr 19  2010 temp
[root@Plugbox tmp]#

What am I missing?

Solution :

Try out NTFS-3g. It has write support for NTFS. You may be using an NTFS module that doesn’t support NTFS writes.

NTFS write support needs not only a mount option, but a write-capable driver. Which NTFS filesystem driver are you using, one that came with the kernel or a module downloaded elsewhere?

Like others have mentioned, you’ll probably want to install NTFS-3g. After doing that, however, what might help is adding an entry to your /etc/fstab like the following one from mine:

# <file system> <mount point>   <type>      <options>             <dump>  <pass>
/dev/sdb2       /media/Windows   ntfs-3g rw,auto,user,fmask=0111,dmask=0000 0 0

Replace “/dev/sdb2” with whatever partition you are trying to mount and “/media/Windows” with your preferred mount point. This makes it so the partition will be automatically mounted on startup, and you will be able to both read and write files on the disk.

Leave a Reply

Your email address will not be published. Required fields are marked *