设为首页 收藏本站
查看: 3129|回复: 0

[经验分享] NFS网络文件系统配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-18 09:18:47 | 显示全部楼层 |阅读模式
NFS简介NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs配置文件:/etc/exports
语法:   文件系统  客户端(导出选项)  客户端(选项)
客户端处可填写:IP、FQDN或DOMAIN、NETWORK

文件系统导出选项
   ro:读
    rw:读写,默认是只读访问
    sync:同步
    async:异步写入
secure:这个选项是缺省选项,他使用了1024以下的TCP/IP端口实现NFS的连接,指定insecure可以禁用这个选项

用户映射:
    root_squash:这个选项不允许 root 用户访问挂载上来的 NFS 卷。
    no_root_squash:这个选项允许 root 用户访问挂载上来的 NFS 卷。
    all_squash:这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID 和 GID,只使用匿名用户。缺省设置是 no_all_squash。
    anonuid和 anongid: 这两个选项将匿名 UID 和 GID 修改成特定用户和组帐号。

查看NFS服务器端共享的文件系统
  showmount e SERVER_IP

客户端使用NFS文件系统
mount t nfs SERVER:/path/to/sharedfs /path/to

exportfs:维护exports文件导出的文件系统表的专用工具
export ar:重新导出所有的文件系统
  export au:关闭导出的所有文件系统
   exportu FS:关闭指定的导出的文件系统

开机自动挂载nfs:
SERVER:/PATH/TO/EXPORTED_FS /mount_point    nfs     defaults,_netdev   0 0
_netdev:说明此共享是一个网络文件系统,如果联系不上,就会跳过此文件系统

示例:
1
172.16.4.100:/share/nfs /mnt                    nfs     defaults,_netdev 0 0



NFS使用演示示例:将本机的/share/nfs使用nfs共享出去,让其他客户端可以访问
1
2
3
[iyunv@nfs ~]# mkdir -p /share/nfs
[iyunv@nfs ~]# vim /etc/exports
/share/nfs 172.16.4.136(rw)



验证nfs是否成功共享
1
2
3
[iyunv@client ~]#  showmount -e 172.16.4.100
Export list for 172.16.4.100:
/share/nfs 172.16.4.136



客户端挂载使用
1
2
3
4
5
6
7
8
9
10
[iyunv@client ~]# mount -t nfs172.16.4.100:/share/nfs /mnt/
[iyunv@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   20G 299M   19G   2% /
tmpfs                 491M     0 491M   0% /dev/shm
/dev/sda1             190M   28M 153M  16% /boot
/dev/mapper/vg0-usr   9.8G 2.0G  7.4G  21% /usr
/dev/mapper/vg0-var    20G 267M   19G   2% /var
172.16.4.100:/share/nfs
                       20G  312M  19G   2% /mnt



这个时候nfs就可以正常使用了

由于服务器默认将root用户映射为了来宾用户,如果以root用户访问nfs服务器是没有写权限的
1
2
[iyunv@client ~]# cp /etc/fstab /mnt/
cp: cannot create regular file `/mnt/fstab':Read-only file system



服务器端设置允许root用户以root权限访问这个共享服务器
1
2
[iyunv@nfs ~]# vim /etc/exports
/share/nfs 172.16.4.136(rw,no_root_squash)



设置完成之后重启服务器,在使用root用户复制文件就有权限了
1
2
3
4
[iyunv@client ~]# cp /etc/fstab /mnt/
[iyunv@client ~]# ll /mnt/
total 4
-rw-r--r-- 1 nobody nobody 921 Apr 23 18:51 fstab



验证:nfs是通过用户id来认证用户,而不是用户名创建用户gentoo使用户对/share/nfs有读写执行权限,然后在里面创建一个文件
1
2
3
4
5
6
7
8
[iyunv@Server ~]# useradd -u 600 gentoo
[iyunv@Server ~]# setfacl -m u:gentoo:rwx/share/nfs/
[iyunv@Server ~]# su - gentoo
[gentoo@Server ~]$ cd /share/nfs/
[gentoo@Server nfs]$ touch a.gentoo
[gentoo@Server nfs]$ ll
total 4
-rw-rw-r-- 1 gentoo gentoo   0 Apr 23 18:55 a.gentoo



客户端操作:
创建相同id,然后不同的用户名,进行写入
1
2
3
4
5
6
7
8
9
10
11
[iyunv@client ~]# useradd -u 600 fedora
[iyunv@client ~]# su - fedora
[fedora@client ~]$ cd /mnt/
[fedora@client mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr23 18:55 a.gentoo
[fedora@client mnt]$ touch a.fedora
[fedora@client mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr 23 18:59 a.fedora
-rw-rw-r-- 1 nobody nobody   0 Apr 23 18:55 a.gentoo



创建不同id,相同用户名,进行写入
1
2
3
4
5
6
7
8
9
10
11
[iyunv@client ~]# useradd gentoo
[iyunv@client ~]# id gentoo
uid=602(gentoo) gid=602(gentoo) groups=602(gentoo)
[iyunv@client ~]# su - gentoo
[gentoo@client ~]$ cd /mnt/
[gentoo@client mnt]$ ll
total 4
-rw-rw-r-- 1 nobody nobody   0 Apr 24 2015 a.fedora
-rw-rw-r-- 1 nobody nobody   0 Apr 24 2015 a.gentoo
[gentoo@client mnt]$ touch b.gentoo
touch: cannot touch `b.gentoo': Permission denied



结论:相同用户名,无法成功写入,相同id可以成功写入。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67958-1-1.html 上篇帖子: 获取公网IP地址并邮件发送 下篇帖子: Linux工具集合之aria2-axel-curl-wget用法 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表