Linux驱动开发所要做的那些事情(2)

(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中的东西显示出来了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ppwsg.html