## 44.9. Mounting Network Filesystems -- NFS, SMBFS

Network filesystems provide the illusion that files on a remote host are on your disk. Except for mounting and unmounting such a filesystem and but for a few low-level details, they can be treated like any local filesystem, albeit on a very slow disk. The two most common network filesystems available on Unix platforms are the Network File System (NFS) and Server Message Block File System (SMBFS).

NFS has been around for a long time and is available on every Unix system I've seen in the past ten years. Its interface is simple: an NFS server has a set of exported filesystems (usually listed in /etc/exports), and any permitted client can mount those filesystems using a straightforward mount invocation. Simply specify `host`:/filesystem as the device, and tell mount that the filesystem is of type `nfs`:

>     # mount -t nfs orange:/home /orange

For more details on NFS on your platform, take a look at the manpages for exports(5) and mount_nfs(8) or nfs(5).

NFS mounts can hang up entirely if the NFS server goes down or if you lose your net connection to it. Often this can require rebooting your machine to fix. To avoid this, use the `soft` option when mounting NFS filesystems. `soft` tells the NFS client system to use timeouts, so that losing touch with the NFS server just causes I/O requests to time out instead of hanging your machine.

> NOTE: NFS by itself is extremely insecure. Be aware that running NFS without any other precautions on a publicly accessible network opens you up to a wide variety of attacks. http://nfs.sourceforge.net/nfs-howto/security.html addresses some of the issues involved and has links to other good information on the subject.

SMB is the primary file and printer sharing protocol used by Windows. Chapter 47 details Samba, the primary tool used to deal with SMB on Unix systems. smbfs is the tool used to mount SMB-shared filesystems (including Windows shared drives and the like) as if they were Unix filesystems. Much like NFS, smbfs allows you to use mount; in this case, you provide the share name as the device:

>     # mount -t smbfs //yellow/Public /yellow

smbfs is only supported on some platforms; check your installation of Samba for details.

Note that both filesystem types can be included in /etc/fstab, just like any other filesystem:

>     # Device                Mountpoint      FStype  Options         Dump    Pass#
>     /dev/ad0s1b             none            swap    sw              0       0
>     /dev/ad0s1a             /               ufs     rw              1       1
>     /dev/acd0c              /cdrom          cd9660  ro,noauto       0       0
>     orange:/home            /orange         nfs     rw              0       0
>     //yellow/Public         /yellow         smbfs   rw              0       0

-- DJPH

Copyright © 2003 O'Reilly & Associates. All rights reserved.