Enabling read/write on external drive shared between OS X and Linux (Ubuntu)
Okay, so i’ve had a 1TB external USB for a while which has been formatted for OS X use (HFS+). I’ve been doing a lot of work on Linux (Ubunut 14.04) recently and wanted an easy, fast way to be able to read/write on both operating systems. I dabbled with this briefly a while back but was unsuccessful, but recently I found a little trick to enable read / write on both OS’s! This may seem like basic setup to some, but judging from the amount of forum posts i’ve read on this, it does seem to fox a lot of people…
NOTE: there is a caveat to this; I don’t share this drive with any other computers. If you move a drive between machines then this solution isn’t for you. Read on to find out how to enable this!
STEP 1: Disable OS X Journaling
So your drive is connected to the Mac, open Disk Utility, select the partition and then hold down the alt key. Select file from the top menu and you will then see an option to ‘disable Journalling’
Once this is done the drive info at the bottom should read ‘Mac OS Extended’; prior to this change it read ‘Mac OS Extended (Journaled).
STEP 2: Modify permissions on drive
Open the finder, find the drive under ‘Devices’, then right-click and select ‘Get Info’. A dialog box should pop up and display basic info of the drive. At the bottom there is a collapsed menu for ‘Sharing & Permissions’:
You need to click the padlock icon bottom-right and authenticate with your current users password. Next, select the ‘everyone’ name in the list, and change the privilege option from ‘Read only’ to ‘Read & Write’.
Once done, then select the gear icon dropdown and choose the option ‘Apply to enclosed items…’ You’ll need to confirm this action and once completed you should be able to mount the drive in either OS and read/write at your leisure!
A NOTE ON SECURITY: This is basically setting the permissions of the contents of the drive to ‘777’ which is wildly insecure. As I only use this drive with ‘trusted’ machines it works for me, but this option isn’t for everyone, and can be a security hole for all sorts of nasties. Previously, i’ve had a writeable folder, created in Linux, on the drive (I used ‘sudo mkdir foo’ and ‘chown admin foo’ to get full control of the folder). This is great for copying files from linux to the drive, and you’ll be able to read them in Mac OS, but if you create a file/folder in this directory whilst in OS X, when you mount the drive in Linux, it’ll be permission locked. You could keep chowning the files/folders to skip the permissions step above, but if i’m honest i’m lazy and wanted a more seamless experience.
FOOTNOTE: Ubuntu 14.04 seems to come with ‘hfsprogs’; a set of drivers and utilities for accessing HFS+ formatted partitions. If you’re running an older flavour of linux, you can use the command ‘sudo apt-get install hfsprogs’ to install them.