Mac Os X: Mount NFS Share / Set an NFS Client

Posted on in Categories , , last updated May 3, 2017

How do I access my enterprise NAS server by mounting NFS filesystem onto my Mac OS X based system using GUI and command line based tools?

Network File System (NFS), a distributed file system protocol developed by Sun Microsystems. NFS is the common for file sharing on NAS server and Linux / UNIX systems like, HP-UX, Solaris, Mac OS X, and others. Mac OS X can be setup as an NFS client to access shared files on the network. Mounting NFS volumes in OS X can be done using following methods:

a] Command line option.

b] GUI option.

Our Sample Setup

        nas01                                   Laptop/Desktop
   +--------------+                           +--------+
   |  UNIX/Linux  |                           | Mac    |
   |    NFS       +---------------------------+ OS X   |
   |   SERVER     |  mount nas01:/mp3 /nfs    | Client |
   +--------------+                           +--------+
         |                                    (
     (shared dirs)

nas01 allows your users or client compute to access files over a network. Mac OS can mount file system over a network and work as they are mounted locally. This is perfect for sharing files or centralized home directories. See how to setup an NFS server under RHEL / CentOS Linux and Ubuntu Linux here.

How Do I Find Out Shared Directories?

To mount an NFS file system, the resource must be made available on the NAS or NFS server. To verify that resource available open the terminal and type the following command:
$ showmount -e nas01
$ showmount -e nfs-server-ip-address-here
$ showmount -e

Sample outputs:

Fig.01: UNIX showmount command lists all clients that have remotely mounted a filesystem from NFS server
Fig.01: UNIX showmount command lists all clients that have remotely mounted a filesystem from NFS server

The showmount command show remote NFS mounts (resources).

Mac OS X Nfs mount Command

First, create a directory to mount an nfs share, enter:
$ sudo mkdir /private/nfs
$ sudo mkdir /private/mp3

To mount an NFS file system, enter:
$ sudo mount -t nfs nas01:/mp3 /private/nfs
$ sudo mount -t nfs /private/nfs
To mount an NFS file system in read/write mode, enter:
$ sudo mount -o rw -t nfs nas01:/mp3 /private/nfs

Tip: Operation not permitted Error

If you get an error which read as follows: Operation not permitted

Try to mount it as follows with -o resvport command:
$ sudo mount -t nfs -o resvport /private/nfs
OR mount an NFS in read/write mode, enter:
$ sudo mount -t nfs -o resvport,rw /private/nfs
From the man page:

Use a reserved socket port number. This is useful for mounting
servers that require clients to use a reserved port number on the
mistaken belief that this makes NFS more secure. (For the rare
case where the client has a trusted root account but untrustwor-
thy users and the network cables are in secure areas this does
help, but for normal desktop clients this does not apply.)

Verify: NFS Is Working or Not

Type the following commands:
$ df -H
$ cd /private/nfs
$ ls -l

Sample outputs (note I’ve mounted it at /private/mp3/ dir):

Fig.02: UNIX df command
Fig.02: UNIX df command which displays information about total space and available space for NFS

How Do I Copy Files?

Use the cp command:
$ cp /path/to/file.doc /private/nfs/
$ cp -a /path/to/*pl /private/nfs/
$ cp /private/nfs/mp3/*.mp3 ~/mp3

Using the Finder

Note: The following entry “NFS mounts” in the Disk Utility does NOT exist in MAC OS X v10.8+. The following discussion only applies to the older Mac OS X version <= 10.7.x and eariler.

The Finder is the default file manager used on the Mac OS and Mac OS X operating systems that is responsible for the overall user-management of files, disks, network volumes and the launching of other applications. Open Finder > Shared (select from the left sidebar) > NFS server (nas01 or

Fig.03: The Finder in action (browse an NFS share)
Fig.03: The Finder in action (browse an NFS share)

Now, you can copy and paste files as usual.

Recommend mount Command Options

I suggest that you run the mount command it as follows to get better a performance:
$ sudo mount -t nfs -o soft,intr,rsize=8192,wsize=8192,timeo=900,retrans=3,proto=tcp nas01:/sales /private/sales
$ sudo mount -t nfs nfs -o soft,timeo=900,retrans=3,vers=3, proto=tcp nas01:/sales /private/sales
See mont_nfs(8) for more information.

GUI Method: HowTo Set Mac OS X As an NFS Client

To mount an NFS share from OS X using GUI tools, follow these steps:

[1] Start Finder, and go to Applications / Utilities / Disk Utility:

Fig.04: Starting Disk Utility
Fig.04: Starting Disk Utility

You will see the disk utility as follows:

Fig.05: Click the 'Mounts' icon at the top of the Directory Utility panel
Fig.05: Click the 'Mounts' icon at the top of the Directory Utility panel

[2] Alternatively, you can select “Disk utility” > click on File > Mount NFS as follows:
Fig.06: Mounting an NFS using - Disk Utility > File > Mount option
You will see an “NFS mounts” window as follows:

Fig.07: OS X NFS Mounts to set it as an NFS Client
Fig.07: OS X NFS Mounts to set it as an NFS Client

[3] Click on “+” icon:
Fig.08: Setting up an NFS mount options in the dialog box
Fig.08: Setting up an NFS mount options in the dialog box

You need to enter your remote NFS server URL (IP address or dns name) in the following format:


  1. NFS server IP address.
  2. nas01: NFS server dns name.
  3. mp3: Shared nfs directory name.

You need to set mount location as follows:
/Volumes/mp3 is nothing but the mount location. This is a convenient place. In this example, you entered the URL as nfs://, enter /Volumes/mp3 as the mount location. Please note that don’t create the subdirectory (mp3); it will be created dynamically when the share is mounted.


Click the arrow in front of “Advanced Mount Parameters”. A new text entry box is displayed. Enter: resvport (this is only required if you get some sort of error [see above for more info or read mount_nfs man page]).
[4] Finally, click “Verify” button at the bottom right:

Fig.09: Verify NFS mount configuration which only checks that your NFS server is enabled and working correctly.
Fig.09: Verify NFS mount configuration which only checks that your NFS server is enabled and working correctly.

[5] You will see a popup window, stating that “The NFS server appears to be functional” > Click “OK” button to continue. Finally, Click “Save” button. You may be prompted for the password to make changes. Your NFS share should appear at the mount location you entered above i.e. /Volumes/mp3.
Fig.10: NFS Share mounted
Fig.10: NFS Share mounted

You can access /Volumes/mp3 using the Finder:

Fig.11: The finder in action
Fig.11: The finder in action

You can also use command line options:
$ ls /Volumes/mp3
$ cd /Volumes/mp3
$ cp /path/to/ file.out
$ rsync -av [email protected]:/var/www/html/ server.backups/

See also:

This entry is 3 of 15 in the Linux / UNIX NFS File Server Tutorial series. Keep reading the rest of the series:
  1. CentOS / Redhat: Setup NFS v4.0 File Server
  2. Debian / Ubuntu Linux: Setup NFSv4 File Server
  3. Mac Os X: Mount NFS Share / Set an NFS Client
  4. RHEL: How Do I Start and Stop NFS Service?
  5. How To Restart Linux NFS Server Properly When Network Become Unavailable
  6. Linux Iptables Allow NFS Clients to Access the NFS Server
  7. Debian / Ubuntu Linux Disable / Remove All NFS Services
  8. Linux: Tune NFS Performance
  9. Mount NFS file system over a slow and busy network
  10. Linux Track NFS Directory / Disk I/O Stats
  11. Linux Disable / Remove All NFS Services
  12. Linux: NFS4 mount Error reason given by server: No such file or directory
  13. Linux NFS Mount: wrong fs type, bad option, bad superblock on fs2:/data3 Error And Solution
  14. CentOS / RHEL CacheFS: Speed Up Network File System (NFS) File Access
  15. Increase NFS Client Mount Point Security

34 comment

  1. now that’s a working tutorial! been struggling with my Zyxel NSA220, trying to use NFS instead of SMB – couldn’t mount until found this page :)

  2. Wow,
    Vivek this is a great tutorial. I as well was struggling and as soon as I found this page I nailed it in one try. Thanks jaysunn

  3. This doesn’t describe how to set up persistent NFS mounts from the command line (hard mounts, not automounts). That should be easy but I can’t find it anywhere.

    1. Do you want to know about soft / hard option that determines the recovery behavior of the NFS client after an NFS request times out? May be you need to give us more info..

  4. I followed every step(gui and terminal) word for word and I can see files on my nfs server, but I can’t write or modify the contents of the shared directory. It keeps saying “Permission Denied”. Is there anything particular I need to do on the server side?

      1. If have tried exporting it as rw as seen below, but still no avail :(


  5. Have a NFS server running on Debian 5.
    I can mounting my shares on Linux Mint 11 like a charm (with r/w permissions).
    But under os 10.6.8, i can mount these shares but i haven’t permission to write or modify anything -> “Permission Denied”.
    The NFS server is setup with these options in /etc/exports


    Any idea ?
    Thanks in advance

    1. In fact, i can create and modify files via terminal if i use sudo command or logged as root.
      All folders/files are uid=1000 and gid=1000 like the screen capture of this article.

      1. You need to add an account on Debian server. For example if you login as fsimerey on OS X. Make fsimerey account on the Debian too. This will map UID and GIDs.

  6. Hi from France,

    Great faqs, thank !
    I have the same question as fsimerey.

    I can access to my nfs server, but not with my single user account under mac Osx. I need to use SUDO into the terminal to access it.

    From my others PC, under Ubuntu, single users don’t needs to use root account to access the nfs.

    My nfs server exports : rw, sync, no_root_squash, anonuid=1000,anongid=1000

    Can you help me please ?

    Thank a lot

    1. Most modern NFS server need some sort of user authentication and user id mapping. For example, /home/vivek is owned by vivek user id # 501 on the Debian Linux nfs 4 server.
      You need to add a user called vivek to Apple OS x with user id # 501 using the following command:

      sudo dscl . -create /Users/vivek UniqueID "501"

      See this page for more info. Use dscl command with care as it can destroy existing users and other system properties.

  7. Thanks for the article.
    Now I have a NFS server running on Ubuntu 11.10 exporting a 2TB exFAT external HD drive. Had to install fuse-exfat to be able to mount the HD on Ubuntu.
    I mounted a NFS folder on a Mac OSX using: sudo mount -t nfs -o resvport my_nfs_server:/media/HD2TB /private/nfs and from Finder I can navigate through and create folders and even open large files. The problem is that I can’t copy anything to the NFS (neither from Finder nor from Terminal). Here is the error:
    cp: /private/nfs/test.txt: fchmod failed: Input/output error
    Here is my /etc/exports:
    /media/HD2TB my_mac(rw,no_root_squash,no_subtree_check)
    Thanks for helping.

    1. For my nfs exports on Debian, i used insecure option.
      Try with:
      /media/HD2TB my_mac(rw,no_root_squash,no_subtree_check,insecure)

      Hope that would solve your prob.

  8. Vivek – Brilliant! Was annoyed with my Synology 1512+ shares with AFP going offline and having to remount for my Plex (MMS). This was the solution! I used your tutorial (which was spot on) and a GUI from NFS Manager(now that OSX 10.8 Disk Utility doesn’t have NFS mounting options) and was successful. I’m super happy now with automounts and dismounts for all my shares! Great, great job!!!!

    p.s. With OSX 10.8 not including the Disk Utility bit, you may want to update/mention that for future users.

  9. After a solid week of having permission denied messages etc.. out of Mountain Lion, here is the fix…..

    Stolen from Apple Discussions:

    Few days ago i run into same problem. I have Ubuntu server and want to mount some folders from there… Anyway, I was solved this problem this way:
    — on Ubuntu —
    1. edit /etc/exports (sudo vim /etc/exports) and add this line(s)


    where “/folder” is a folder you want to mount from your Mac
    “” is an IP address you allow to connect to your share from
    “anonuid=xxx,anongid=xxx” is UID and GID of user on Ubuntu you want to be used as owner of files you want to create on mounted share (if you ommit this you will have read-only access to the share folder)
    2. export your shares – sudo exportfs -a
    — on your Mac —
    Use Connect to Server (Commant+K) menu and write nfs://server-name-or-ip/folder
    Voila! You have to have rw access to shared folder on your server.

    P.S. check man exports to find some additional info to set IP ranges you want to allow to connect from.

    Good luck!

  10. Dear Helper,

    There are two major flaws with the mount instructions above:
    1. The entry “NFS mounts” in the Disk Utility does NOT exist in MAC OS X 10.8!
    2. It is easy to NFS-mount disks read only in 10.8 but much harder to mount them
    read-write. As you can see above the parameter “-o rw” is missing in the
    examples above!

    Thanks anyway for the nice tutorial. Have a good day, vonbarth

  11. Vivek — there is a problem accessing a “normal” nfs server from osx if the mount option “-o resvport” is used on the osx client. Most/normal nfs servers are firewalled; opening port 2049 for nfs connections. Osx is going to pick a random low-numbered port to connect on and this will be blocked on the nfs server.

    Is there some sort of solution for this? Cheers

  12. I has no problem at all setting up a NFS client for my macOsx 10.8…. The only thing is that diskutil does not support it but terminal does!

  13. I’ve setup a freeipa server on centos mostly following theses guidelines:

    Everything seems to be working fine, except that the osx client can’t automount the /home share at startup.
    I can auth and/or mount the share manually in the command line, but at startup the logs show “server not responding”.
    This is the line I’ve added in auto_home (referred to in auto_master):
    * -fstype=nfs,rw,resvport,soft,intr,rsize=8192,wsize=8192,nosuid,tcp nfsserver:/home/&

    I have tried many options and variations of this command, but have been unsuccessful so far – does anyone have an idea how this can be done ?

  14. What about reverse situation? I want to share dir from my mac to linux machine.

    Mac has ip and linux has

    In /etc/exports on mac I have this:
    /Users -mapall=my_user -alldirs -network -mask

    Then on linux I do this:
    sudo mount /Users -o rw,async,noatime,rsize=32768,wsize=32768,p

    And it says:
    mount: failed, reason given by server: Permission denied
    mount: mounting on /Users failed: Bad file descriptor

    my_user belongs to admin group. Firewall is disabled at all. What the problem can be?

Leave a Comment