I have an Ubuntu 20.04 server (a local VM in my case). How do I mount a directory on the Linux server from a macOS Catalina client, using NFS?
1 Answers
Setting up the Linux server
Install the NFS server as per the Ubuntu NFS guide:
sudo apt install nfs-kernel-server
Edit
/etc/exports
:sudo nano /etc/exports
Now add a line similar to this:
/home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
/home/ubuntu
is the directory to export172.16.238.0/24
is the IP addresses to accept connections from. The Mac client's IP address should be in this range. Use*
to allow from any IP address. (But be careful not to make your NFS server available to the entire internet!)insecure
means to accept connections from unprivileged (higher) port numbersrw
means read-writeall_squash,anonuid=1000,anongid=1000
forces all reads and writes to be performed by the user/group with UID/GID 1000 (1000 is the defaultubuntu
user/group on my server). Run theid
command on the server to find out your UID/GID. You need these options unless your Ubuntu server and Mac client use the same UID/GID for the main user.no_subtree_check
is a performance thing
Save the file and run
sudo exportfs -vra
to reload the NFS exports. (I'm not sure if the
-a
option is necessary.)
Setting up the Mac client
On the macOS client, edit the
/etc/auto_master
file (documented in theauto_master man page
):sudo nano /etc/auto_master
and change the line starting with
/net
to the following (or add it if necessary):/net -hosts -nobrowse,nosuid,locallocks,nfc,actimeo=1
locallocks
creates locks on the client rather than on the server. Without this, Finder becomes very slow and takes forever to show directories.nfc
makes UTF-8 file names workactimeo=1
sets the attribute cache timeout as short as possible. Note that setting it to0
(or addingnoac
) causes Finder not to notice when a file is deleted on the server, so we can't use it.- Note that we're not using
nfsvers=4
here. I got kernel panics on the Mac with this, so I went back to the default (NFSv3).
Note: It appears that some macOS software updates can overwrite this file and remove your changes. I've found myself having to go back to back to this answer once a year or so re-apply the changes.
Refresh the automounts by running
sudo automount -vc
(If you previously tried to mount an NFS volume, unmount it first, like so:
sudo umount -f /net/fileserver.local/home/ubuntu
)In the Finder menu, select Go -> Go to Folder, and type
/net/SERVER_HOST_NAME
, e.g./net/fileserver.local
.You should find your exported directory in there, e.g. at
/net/fileserver.local/home/ubuntu
. Drag this directory to the Finder sidebar to make it easy to access in the future.

- 2,878
- 2
- 23
- 23
-
Also, is there any way to fix the permissions. The only way I have to access my files from the Mac is giving 777 permissions to the folder I want to share :( otherwise the system shows me a message telling my I don't have permissions to browse the folder. – Carlos Vega Sep 04 '15 at 20:08
-
@carlosvega The `all_squash,anonuid=1000,anongid=1000` options take care of permissions for me - everything owned by UID 1000 on the Ubuntu server can be accessed from the Mac client no problem, so there's no need for chmodding to 777. – Jo Liss Sep 07 '15 at 14:34
-
5Just a quick comment, if you just want to mount "on the fly" on the mac side, this works for me : `sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu` – Scott Carlson Sep 09 '15 at 23:13
-
works for me with Mac OSX Sierra and Ubuntu 16.04 – Antonios Hadjigeorgalis Nov 17 '16 at 18:26
-
3People don't realize how much trial and error lies behind this brilliant answer. Especially the "nfc" part is CRUCIAL when mounting (or `rsync`ing) non-MacOS servers. You won't notice at first, but the UTF-8 ain't the same on OS X as it is everywhere else. Without it, your file names might very well be garbled and require hours on end to fix later on. I know I can't use a comment to say, "thank you," so I'll just end it here ;) – DanielSmedegaardBuus Dec 05 '16 at 13:43
-
`locallocks` is a huge performance booster! thank you heaps for that one! – Seb Sep 01 '18 at 19:27
-
If I could upvote this answer a million times I would. Thanks you so much. I've been trying for weeks to setup NFS on an Ubuntu server and mount it on MacOS, and trawled the web far and wide and never could get it to work. None of all the "respectable answers" (from DigitalOcean, etc.) worked at all. This is probably the most useful technical answer I've gotten online ever. Thanks again. – prmph Apr 07 '23 at 18:54