linux之NFS服务
2018-10-15 10:54 烟雨楼人 阅读(441) 评论(0) 编辑 收藏 举报NFS的功能: 局域网共享文件.
安装步骤:
1.安装nfs-ntils软件(yum install nfs-utils)
2.创建共享目录:(mkdir -p /nfsdir/nfs_test) 3.创建配置文件并编辑(/etc/exports) vim /etc/exports 内容: /nfsdir 192.168.88.0/24(rw) :wq(保存退出) 4.启动服务(service nfs start) 5.客户端主机测试:showmount -e 192.168.88.4 6.客户端挂载共享目录(先建共享目录并挂载) Mkdir /mnt/nfs 然后 mount -t nfs 192.168.88.4:/nsfdir /mnt/nfs 共享文件夹nfs(客户端,服务器端是nfsdir)里的共享文件nfs_test就可访问了.ls /mnt/nfs (简单搭建成功,此时不可以在nfs目录里修改文件,可以拷贝到本地目录再修改) 说明:此时设置的是一个网段,如果要设置一个ip的权限,单独的写在前面(/etc/exports文件谁先读到谁生效.故写的时候有顺序.) /nfsdir 192.168.88.21/24(rwx)192.168.88.0/24(rw) |
问题:
1客户端的root用户不能往服务端传文件的解决办法?
在服务端编辑: vim /etc/exports
/nfsdir 192.168.100.0/24(rw,no_root_squash) :wq(保存退出) 再重启nfs服务即可:service nfs restart 说明: ① no_root_squash是root用户不压缩的意思 ② root_squash:压缩root用户,将root通过网络访问时转换为nfsnobody用户(这就是为什么不能用root用户写入,这个是默认属性) 服务器端有同样uid用户,则就是该用户权限.若无,则是nfsnobody 文件系统导出属性: rw:读写 ro:read-only async:异步(默认使用异步,同步的性能会非常差) sync:同步 root_squash:压缩root用户,将root通过网络访问时转换为nfsnobody用户(这就是为什么不能用root用户写入,这个是默认属性) no_root_squash:不压缩用户(普通用户创建文件 实验?) all_squash:压缩所有用户 exportfs导出nfs文件: -a:操作所有文件系统 -ra:重新导出所有文件系统 -ua:取消导出的所有文件系统 -v:显示详细信息 |
2.普通用户可以传文件的方法
第一步:客户端创建一个oracle用户并指明uid
useradd -u 1000 oracle 第二步:服务端创建一个和客户端的用户的uid一样的用户,用户名可以不同 useradd -u 1000 haa 第三步:在服务端给用户haa授权,用setfacl的方式 [root@localhost nfsdir]# setfacl -m u:haa:rwx /nfsdir setfacl: /nfsdir: Operation not supported 这是因为nfsdir已经挂载到了盘/dev/sdb5中,但是挂载默认不支持acl权限 Mount -o acl device_name mount_point 解决办法:按照上面的根目录挂载的方法重新的挂载一遍 1 客户端卸载 umount /mnt/nfs 2 服务端停止服务 service nfs stop 3 服务端卸载 umount /nfsdir/ 4 服务端重新挂载mount -o acl /dev/sdb5 /nfsdir核心点 5 服务端重启服务以及客户端重新挂载 第四步:服务端的nfs的重启 第五步:客户端的目录的卸载以及重新的挂载 说明:客户端查看到的是这样的-rw-rw-r-- 1 nobody nobody 0 Jun 27 07:00 123 服务端查看的是这样的-rw-rw-r-- 1 haa mysql 0 Jun 27 07:00 123 这样因为在客户端是按照oracle来的,服务端是按照oracle的uid对应的haa用户来的普通用户可以传文件的方法 |
3. nfs自动挂载(vim /etc/fstab)
服务端:vim /etc/fstab
UUID="6225d0a4-8803-4e05-a19c-ccf1e7529b5b" /nfsdir ext4 defaults,acl 0 0 说明:defaults后面增加了acl是按照acl的方式进行挂载,保障后面设置权限不会报错 客户端:vim /etc/fstab 192.168.88.4:/nfsdir /mnt/nfs nfs defaults,_netdev 0 0 说明: defaults后面的” _netdev”说明只是限制网络设备,只是挂载一次 光盘的自动挂载 vim /etc/fstab /dev/sr0 /mnt/rhel iso9660 defaults 0 0 然后:测试 mount -a |