小c学Linux(31)--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用户转换为nfsnobody
no_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 ./

猜你喜欢

转载自blog.csdn.net/aarron_dl/article/details/80024641