These instructions have been liberally copied from this excellent blog post. You should also read the NTFS-3G page on osxfuse wiki, as it might be more up-to-date.
Step 1. Install the ntfs-3g port.
sudo port install ntfs-3g
Step 2. Find out your userid and groupid.
User ID:
id -u
Group ID:
id -g
Step 3. Use a modified mount_ntfs executable and save the OS X original to /sbin/mount_ntfs.orig
(Note to do this under El Capitan, you must first disable SIP. See this how-to
On 10.15 Catalina, you don't need to disable SIP, but you will need to do the following command first:
sudo mount -uw /
The reason is because the OS mounts the root filesystem as 'read-only'. The above command will make it writeable only for this instance. It will turn to back to 'read-only' when you restart.)
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig sudo touch /sbin/mount_ntfs sudo chmod 0755 /sbin/mount_ntfs sudo chown 0:0 /sbin/mount_ntfs sudo nano /sbin/mount_ntfs
Then paste in the following code and save it by typing Control-X and pressing "Y". NOTE:
- You can optionally substitute in your User ID and Group ID (from Step 2 above) in place of 501 and 20 in lines 4 and 5 below.
- This script also assumes the standard MacPorts install location of
/opt/local/so you will need to modify it if yours is different.
#!/bin/bash
VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=501
GROUP_ID=20
TIMEOUT=20
if [ `/usr/bin/stat -f "%u" /dev/console` -eq 0 ]; then
USERNAME=`/usr/bin/defaults read /Library/Preferences/com.apple.loginwindow | /usr/bin/grep autoLoginUser | /usr/bin/awk '{ print $3 }' | /usr/bin/sed 's/;//'`
if [ "$USERNAME" = "" ]; then
until [ `stat -f "%u" /dev/console` -ne 0 ] || [ $TIMEOUT -eq 0 ]; do
sleep 1
let TIMEOUT--
done
if [ $TIMEOUT -ne 0 ]; then
USER_ID=`/usr/bin/stat -f "%u" /dev/console`
GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi
else
USER_ID=`/usr/bin/id -u $USERNAME`
GROUP_ID=`/usr/bin/id -g $USERNAME`
fi
else
USER_ID=`/usr/bin/stat -f "%u" /dev/console`
GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi
/opt/local/bin/ntfs-3g \
-o volname="${VOLUME_NAME}" \
-o local \
-o negative_vncache \
-o auto_xattr \
-o auto_cache \
-o noatime \
-o windows_names \
-o user_xattr \
-o inherit \
-o uid=$USER_ID \
-o gid=$GROUP_ID \
-o allow_other \
"$@" &> /var/log/ntfsmnt.log
exit $?;
Last modified 5 years ago
Last modified on Apr 25, 2021, 1:32:42 AM
