1:安装 nfs 服务
sudo apt-get install nfs-kernel-server
2:设置共享目录:
nfs 的共享设置文件为: /etc/exports
使用 root 权限 编辑 /etc/exports 安装完毕 nfs 文件以后会自动生成 /etc/exports 文件,文件中有设置共享文件的例子
格式如下:
/srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
其中:
/srv/homes: 为要共享的目录
hostnmae1: 为允许网络中访问该共享的计算机的名字, 也可以是ip 地址。如果为 * 则达标所有的计算机
(rw,sync,no_subtree_check): 括号中的以逗号分割的访问属性。常用属性如下:
ro 只读访问
rw 读写访问sync 所有数据在请求时写入共享
async nfs在写入数据前可以响应请求
secure nfs通过1024以下的安全TCP/IP端口发送
insecure nfs通过1024以上的端口发送
wdelay 如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide 共享nfs目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定nfs服务器/etc/passwd文件中匿名用户的GID
3: 启动服务
安装完毕以后,nfs 服务会在每次系统启动的时候自动启动,第一次安装完毕以后可以手工启动nfs 服务
sudo /etc/init.d/nfs-kernel-server start
如果不想nfs 服务跟随系统启动
sudo chmod a-x /etc/init.d/nfs-kernel-server
4: 检查配置是否成功
sudo mount localhost:/srv/homes /mnt/nfs
查看是否正确将 /srv/homes 目录挂载到了 /mnt/nfs 目录
参考文献:
1: 51com: 讲解安装Ubuntu nfs配置系统
2: Ubuntu: Network File System (NFS)
3: Ubuntu: SettingUpNFSHowTo