This page provides information on how to set up an NFS server on Debian Linux, and NFS clients on Mac OS X and Windows. My motivation to use NFS is that Samba is just too damn slow when I use it with the Mac OS X Finder.

Debian Packages

The following Debian packages need to be installed to be able to run an NFS server



Configuration file reference 
man 5 exports
NFS on Linux Documentation
Mount NFS share on Mac OS X



Server configuration


This file contains the definitions of the file systems that should be exported by the NFS server. For details about its format, see man exports.


Discussion of the options used:

  • Path: The full path of the exported share must be specified
  • NFS client specification: Address/Netmask specification can be used to restrict clients based on their IP address. Single hosts may also be specified, as well as other formats
  • ro = Read-only
  • insecure = Allow clients to connect with client ports above 1000. This is required at least for Mac OS X.
  • no_subtree_check = Specifying this prevents a warning to be printed when the export is activated. I haven't thoroughly understood what this is for, but the man page recommends to use it: "[...] as subtree_checking tends to cause more problems than it is worth."
  • all_squash: Force all access to be made with anonuid/anongid. If this is not specified, the client will connect with uid/gid local to the client; since this does not match any uid/gid on the server, access will fail.
  • anonuid/anongid: Only numeric IDs can be used :-( I use the IDs for user/group = patrick/patrick.

After changes are made to /etc/exports, they must be activated by either restarting the server, or updating the list of exported shares:

/etc/init.d/nfs-kernel-server restart
exportfs -ra

Files in /etc/default/

The following files in /etc/default are also involved in configuring various aspects of NFS. Currently I am happy with all default settings.

  • /etc/default/nfs-kernel-server
  • /etc/default/nfs-common
  • /etc/default/portmap

/etc/hosts.allow, /etc/hosts.deny

Network access may be additionally configured via the following files:


TODO: Find out whether this is really important, or whether the client specification in /etc/exports is sufficient.



Client configuration

Mac OS X

In the Finder

  • Select "Goto > Connect to Server"
  • Enter nfs://
  • This will mount the share under /Volumes/DVD


  • Enter the following command to mount the share in a previously created directory
mount_nfs osgiliath:/var/samba/media/DVD /tmp/testnfs
  • Unmount the share
umount /tmp/testnfs