NFS笔记
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-03-28
NFS 一、Network file system 简称NFS,用与linux 与各种like unix主机之前进行share files,可称为RPC Server .客户端和服务端在使用NFS时都需启动RPC服务. 客户端有NFS文件请求需求时向服务端请求数据的流程: 1)客户端向服务器的RPC(port 111)发出NFS文件存取功能的询问请求 2)服务器端找到已注册的对应的NFS daemon端口后告知客户端 3)客户端了解了正确的端口后,就可直接跟NFS daemon联系 二、运行NFS需要启动的RPC daemons: 1) rpc.nfsd 管理client端能入登入 2) Rpc.mountd 管理NFS文件系统,包括-XXX XXX XXX等所有者权限以及/etc/exports里的各类权限. 3) Rpc.lockd和rpc.statd,在客户端发生同时使用同一文件时,他们分别用于管理文件的锁定和检查文件的一致性,在NFS中为非,可以没有,此外,这个功能需要在服务器和和客户端同时启用才能生效 三、NFS本身没有身份认证机制,当客户端访问服务端的时候会把客户端用户的uid 、gid和服务端/etc/passwd /etc/group里面的uid 、gid做对比,然后以他们uid 、gid都相同的那个用户身份来读取服务端的文件系统的.这里有几种情形: (1)NFS server与NFS client刚好有相同的帐号和组,此时直接以那个用户身份访问NFS服务器 (2)NFS server与NFS client UID相同但用户名不相同,uid相同,该用户可以以那个与其UID相同的那个帐户的身份访问服务端. (3)NFS server没有客户端的UID,此时访问者的身份会被压缩成匿名者,一般NFS会把65534作为其UID,早期待linux把65534这个帐户称为nobody,cent OS一般取名为nfsnobody. (4)如果用户身份为root,默认情况下root帐户会被压缩成匿名者.总之客户端能做什么事情取决于其UID、GID,另外客户端存取服务端文件系统还需以下二个权限:1、NFS服务器开放的权限(/etc/exports) 2、实际的文件目录权限 四、NFS需要的二个软件:NFS主程序: nfs-utils RPC主程序:portmap (1)/etc/exports NFS主要配置文件 /usr/sbin/exportfs 维护NFS共享资源的命令 /var/lib/nfs/etab 记录NFS共享出来的目录的完整权限设置值 /var/lib/nfs/xtab 记录曾经连到此NFS主机的相关客户端数据 (2)Vim /etc/exports /tmp/test 192.168.1.0/24(ro) localhost(rw) *.cbdoffice.local(ro,sync) 共享目录 开放网段(权限) 开放本机(权限)开放域内主机(权限) 注意使用主机名称时保证在/etc/hosts或DNS里可以找到,即能找到IP,别外主机 名称支持通配符,*或? (3)权限参数 ro:read-only,只读权限 rw:read-write,可读写权限 Sync:数据同步写入到内存于硬盘中 Async:数据会暂时存于内存中,而非直接写入到硬盘中 No_root_squash:登入NFS的用户如果为root用户,那么对于共享目录来说,他说具有root权限,此项极不安全,一般不使用 Root_squash:压缩root身份用户为匿名者 All_squash:压缩所有登入NFS服务器的用户为匿名者 Anonuid:把登入用户压缩成UID为anonuid=XXX的用户,把登入用户压缩成指定的用户 Anongid:同上,anongid=XXX 五:portmap启动端口为111 NFS启动端口为2049 其它rpc.daemons启动的端口为随机产生,需向portmap注册. Rpcinfo命令 Rpcinfo [-P] [ip|hostname] 显示所有port和program Showmount命令 Showmount [-ae] [ip|hostname] -a 显示目前主机与客户端联机共享状态 -e 显示某台主机/etc/exports所共享的目录数据,showmount -e localhost Exportfs [-aruv] -a 全部挂载或卸载/etc/exports里的共享目录 -r 重新挂载或卸载 -u 卸载某一目录 -v 显示详细目录所对应的权限 Showmount -e 192.168.0.2 Mkdir /mnt/nfs Mount -t nfs 192.168.0.2:/home/linux /mnt/nfs 另外为了安全,使挂载过来的partion不具有危险的SUID文件,不安全的可执行文件,设备文件等可在挂载时设置安全参数. Mount -f nfs -o nosuid,noexec,nodev,rw localhost /mnt/nfs 开机挂载: Vim /etc/fstab 192.168.0.2:/home/linux /mnt/fstab nfs nosuid,noexe,nodev,rw 六:practice 1、开放/home/public,只限定172.16.3.0/24这个网段可读写,其它人均只读 /home/public 172.16.3.0/24(rw) *(ro) /home/test 172.16.3.1(rw) /tmp *(rw,no_root-squash) /home/linux *.cbdoffice.local(rw,all_squash,anonuid=100,anongid=100) 开放匿名,配合all_squash指定特定的UIDGID用户 拥有帝国一切,皆有可能。欢迎访问phome.net本文出自 “夫臣” 博客,谢绝转载! 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: NFS服务器下一篇: 使用NFS配置文件服务器
关于NFS笔记的所有评论