(1)安装软件,输入:
sudo apt-get install nfs-kernel-server
(2)进入/etc目录下,修改配置文件exports
1>如果没有就新建一个:
sudo gedit exports
2>添加一句话:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
/home/think/test *(rw,sync,no_root_squash)
-------------------------------------------------------------------------------------
说明:
a.前面的目录是设置你想要共享的主机里的某个目录,此处将/home/think/test共享出现,
b.后面的*是设置允许那一段IP访问,这里的*代表任意ip段,也可以改为下面
/home/think/test 192.168.0.*(rw,sync,no_root_squash)
c.括号里面的参数
第一个参数:读写
第二个参数:同步
第三个参数:权限
a.no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有root 的权限!这个项目极不安全,不建议使用!
b.root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份。
c.all_squash: 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是 nobody
d. anonuid: 前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中!
e.anongid: 同 anonuid ,但是变成 group ID 就是了。
(3)重新启动服务器
1>sudo exportfs -rv
重新导入配置文件
2>重新启动portmap服务(端口映射):sudo /etc/init.d/portmap restart
3>sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务
(4)使用nfs
a.使用mount指令,让共享的文件夹挂载到一个指定目录下。
b.在使用nfs服务之前,还需要启动portmap服务,就是在你想要挂载东西的平台上,输入 portmap&,启动portmap服务。
c.自测
输入:
mount -t nfs 192.168.1.100:/home/think/test /mnt
如果没有提示就说明挂在成功。如果想要与开发板进行nfs传输,则在开发板的Linux系统下的终端中输入: mount -t nfs 192.168.1.100:/home/think/test /mnt -o nolock 完成挂载,进入/mnt目录会发现在PC机中/home/think/test中的东西显示出来了。