How to mount an NTFS-formatted USB drive in read-write mode on Mac OS X

Actually, it's very easy. No additional software is required. Just seven easy steps:

  1. Attach your USB drive
  2. Open the Terminal app (Command-Space, then type "Terminal", hit Enter)
  3. Type or copy/paste this command:
    sudo sh -c "mkdir -p /mnt $(mount | grep ntfs | head -n 1 \
       | awk '{ print "&& umount " $3 " && mount_ntfs -o nosuid,rw " $1 " /mnt" }')"
  4. Locate your drive in Finder
  5. Drag/drop files there
  6. Unmount the drive as usual
  7. DONE!

The command breakdown, if you're interested:

  1. mkdir -p /mnt creates a mount point -- a place in the file system where we will attach the drive
  2. the mount command without parameters gives you a list of the currently attached drives
  3. grep ntfs filters non-ntfs drives out the list
  4. head -n 1 grabs the first line (we're assuming only one ntfs drive can be attached at a time)
  5. the awk part produces two commands:
    • umount /Volumes/<name> -- unmounts the drive from its original place
    • mount_ntfs -o nosuid,rw /dev/<device> /mnt -- mounts the drive again, but this time in the read-write mode
  6. now, the sudo sh -c "..." thing allows code execution with superuser privileges.

That's it.