Linux学习之NFS服务配置

  NFS : Network File System

  网络文件系统(NFS)是一个分布式文件系统协议,最初由Sun Microsystems于1984年开发,[1]允许客户端计算机上的用户通过计算机网络访问文件,就像访问本地存储一样。与许多其他协议一样,NFS建立在开放网络计算远程过程调用(ONC RPC)系统上。NFS是Request for Comments(RFC)中定义的开放标准,允许任何人实现该协议。

  在centos上默认安装了nfs-utils,可直接启动服务。

  三个关键进程:

  moutnd 挂载守护进程,负责客户端来源认证进程 nfsd:文件读写 idmapd:id映射进程

  NFS配置文件/etc/exports

  #文件系统 #客户端{ip | 网段} #导出属性

  /nfsfile 192.168.2.0/24(rw,no_root_squash)

  文件系统导出属性:

  导出属性 rw读写async同步sync异步root_squash压缩用户,通过网络将root用户转换为nfsnobodyno_root_squash不压缩用户,任何客户端root可以访问,不安全all_squash压缩所有用户,谁都不准以自己的身份访问,最安全anonuid,anongid指定用户

  showmout

  #全部 在nfs服务器端显示所有的挂载会话

  showmount -a SERVER_IP

  #文件 在服务器端执行,显示那个导出的文件系统被那些客户端挂载过

  showmount -d SERVER_IP

  #共享,在客户端执行,探查某主机所导出的nfs文件系统

  showmount -e SERVER_IP

  exportfs导出nfs文件

  #操作所有操作系统

  exportfs -a

  #重新导出所有文件系统

  exportfs -ra

  #取消导出的所有文件系统

  exportfs -ua

  #显示详细信息

  exportfs -v

  nfs的辅助进程mountd等监听在固定端口上,可以通过在编辑/etc/sysconfig/nfs等参数来实现

  操作实例

  客户端以某一个具体的用户访问NFS

  1)服务端

  #编辑/etc/exports,压缩所有用户

  /nfsfile 172.16.0.0/16(rw,all_squash)

  #创建一个新的目录,挂载新的分区sda#,然后使某个UID能够访问

  fdisk /dev/sda

  mkdir /nfsfile

  #开机自动挂载,编辑/etc/fstab并有acl特性,

  /dev/sda3 /nfsfile default,acl 0 0

  #生效

  mount -a

  #创建一个UID=1000的用户

  useradd -u 1000 testuser

  #设置UID=1000的用户对/nfsfile有rwx权限

  setfacl -m u:1000:rwx /nfsfile

  2)客户端

  #将NFS共享的文件挂载至本地某个目录/mnt/nfs

  mkdir /mnt/nfs

  mount -t nfs 172.16.36.215:/nfsfile /mnt/nfs

  #编辑/etc/fstab设置为开机自动挂载,_netdev特性可检测挂载网络

  172.16.36.215:/nfsfile /mnt/nfs default,_netdev 0 0

  #创建NFS服务端设置的UID=1000的用户

  useradd -u 1000 testuser

  #su到testuser

  su - testuser

  #访问/mnt/nfs目录,测试

  cd /mnt/nfs

  cp /etc/fstab ./

上一篇:搭建 NFS 服务 & 实时同步


下一篇:Linux基础之NFS