apt-get install nfs-kernel-server nfs-common portmap
By default, portmap is only accessiable on localhost. This seems to have changed for Etch, but it doesn’t hurt to double check.
Remove the line ‘-i 127.0.0.1’ option from ARGS in the file /etc/default/portmap or comment it out.
Restart it with /etc/init.d/portmap restart
Edit /etc/exports
/usr/local 192.168.1.(rw,no_root_squash,async)
/stuff 192.168.1.(ro,async)
This will make nfs-kernel-server complain about ‘no_subtree_check’; feel free to add it.
no_root_squash means that the ‘root’ user on a client system going to this directory will be root on the server share as well. This is something you’ll only want to use in a protected LAN. Otherwise, ‘root’ will be ‘nobody’ while in the shared directory.
NEVER ALLOW NFS TO BE SHARED ACROSS THE INTERNET.
NFS is unencrypted by default (I believe you can only encrypt it using Kerebos).
I highly suggest you use tcpwrappers.
/etc/hosts.allow
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
nfs: 192.168.1.
/etc/hosts.deny
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
nfs:ALL
To make everything easier, edit your /etc/hosts file. This should be the same on all linux machines.
192.168.1.100 laptop
192.168.1.101 server
192.168.1.104 workstation
Restart NFS.
/etc/init.d/nfs-kernel-server restart
Mount on the client machine now:
mount server:/usr/local /mnt/server-local
You’ll probably want to add this to /etc/fstab.
server:/usr/local /mnt/sever-local nfs rsize=8192 0 0
On a desktop machine, I like these options
server:/usr/local /mnt/server-local nfs rsize=8192,user,noauto 0 0
This will allow your user to mount the share by double-clicking ‘server-local’ in “Computer” (located in Places on Ubuntu)