O'Reilly Hacks
oreilly.comO'Reilly NetworkSafari BookshelfConferences Sign In/My Account | View Cart   
Book List Learning Lab PDFs O'Reilly Gear Newsletters Press Room Jobs  

Accessing NFS
NFS is a commonly used tool in Unix networks that allows the sharing of files through RPC. Find out how to configure your Mac OS X client to access an NFS share.

Contributed by:
Jason Deraleau
[04/22/03 | Discuss (6) | Link to this hack]

One of the most common methods of sharing files in a Unix environment is via the Network File System. NFS makes use of Remote Procedure Calls to allow machines to share file systems over a TCP/IP network. If you are bringing your Mac OS X machine into such a Unix environment, you'll probably need to access some NFS shares at one point or another. There are two ways you can do this. The first is a temporary mount. The second makes use of the automounter to mount the share permanently. Each has its uses and is described below.

The Finder

Accessing an NFS share with the Mac OS X Finder is simple. Select Go -> Connect to Server... in the Finder. In the Address box, enter the location of the NFS share as follows nfs://servername/path/to/share. So if your server's name is taco and the share is /exports/media, you would use the address nfs://taco/exports/media. The Finder will then access the share and mount it on your desktop. An important note here is that the Finder uses an unprivileged port to do this, which may not work with some NFS server configurations.

The mount Command

To use the mount command to mount a share, open the Terminal application. Enter the command sudo /bin/mount_nfs servername:/path/to/share /private/mnt/point, replacing the italicized sections with the necessary values. This command will also use an unprivileged port by default, but you can force a privileged port with the -P switch.

Using the automount Daemon

For more permanent mounts, you'll want to configure the automount daemon to handle mounting NFS automatically. On Mac OS X, automount uses NetInfo to acquire its mounts and parameters. Below are the commands to use to create the necessary data in NetInfo. As always, replace the values below with those appropriate of your NFS server.

% sudo niutil -create . /mounts
% sudo niutil -create . /mounts/temp
% sudo niutil -createprop . /mounts/temp type 'nfs'
% sudo niutil -createprop . /mounts/temp dir '/private/mnt/point'
% sudo niutil -createprop . /mounts/temp opts ''
% sudo niutil -createprop . /mounts/temp name 'servername:/path/to/share'

Once you complete those commands, you must signal the automount daemon that a change has occurred. To do this, enter the command sudo killall -HUP automount. This configuration also uses an unprivileged port by default. To use a privileged port instead, issue the command sudo nicl . create /mounts/servername:\\/path\\/to\\/share opts "-P". Note that the path is escaped using two backslashes preceding each forward slash. Remember to HUP automount after any changes.

See also: man mount_nfs, Mac Help

O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.