参考:

https://www.cnblogs.com/devilmaycry812839668/p/15127755.html

由上面的参考资料我们可以知道在nfs服务端进行配置时对于客户端的权限设定主要有以下字段:

no_root_squash

root_squash

all_squash

anonuid

anongid

其中,no_root_squash,root_squash表示的意思正好相反,如果我们在服务端 /etc/exports中同时设置,如:

/data         192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,root_squash,no_root_squash)

那么实际上还是将权限设置为no_root_squash,也就是说客户端如果使用root账户对挂载的文件系统进行操作时文件系统记录的账户权限为root。

同时,很神奇的事情是如果我们将root_squash和no_root_squash调换位置,即:

/data          192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash,root_squash)

那么实际上还是将权限设置为root_squash,也就是说客户端如果使用root账户对挂载的文件系统进行操作时文件系统记录的账户权限为nobody。

其实,将root_squash,no_root_squash混写在一起是没有太多意义的。

root_squash  :  只将客户端的root用户的操作记录为nobody用户的操作,客户端其他用户的操作均直接按照其真正的uid和gid进行。比如:客户端电脑上的uid=1004用户对客户端挂载的nfs进行操作,其权限就如何服务端上uid=1004的账户进行操作一样。换句话说就是只将客户端root用户映射为nobody,而客户端的其他用户uid则不进行映射。

而no_root_squash  :  除了客户端root用户操作挂载的nfs时映射为服务端的root用户其他和root_squash一致,都是不对其他客户端uid进行映射操作,客户端上uid为多少的用户操作后在服务端上显示的权限也是该uid。

前面我们知道root_squash,no_root_squash 只能决定是否将客户端root用户映射为服务端的nobody,而客户端的其他uid均不做映射,而all_squash则决定是否将所有客户端的用户都映射为nobody。

那么no_root_squash 和  all_suqash 在一起是否能将客户端上的root在操作挂载的nfs时squash为nobody用户呢,如下配置:

/data         192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash,all_squash)

发现,最终效果为  all_squash,

那么替换下位置呢,如下:

/data         192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,all_squash,no_root_squash)

发现,最终效果依旧为  all_squash。

因此我们知道了以下需要的配置:

把root映射为nobody,其他用户不影响依旧使用相同uid权限,使用:root_squash配置。

把root映射为root,其他用户不影响依旧使用相同uid权限,使用:no_root_squash配置。

如果出现了all_squash 后则不管是什么uid全部映射为nobody。

此时即使出现root_squash和no_root_squash都不影响。因此root_suash和no_root_squash,all_squash共同出现意义不大。

那么默认的suqash 都是把客户端的用户映射为nobody:nogroup,那么我们可以不可以知道把客户端的账户映射为服务端的指定用户和组呢???那就需要使用anonuid 和anongid,如下:

/data         192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,all_squash,anonuid=1014,anongid=1004)

其意思就是把客户端的所有账户全部映射为服务器端的uid=1014,gid=1004。其实anonuid和anongid本身意义不大,因为默认的映射为nobody:nogroup就已经基本够用了。

网络文件系统nfs服务端配置客户端权限时的demo例子的更多相关文章

  1. Centos 7网络文件系统nfs服务的安装与配置

    实验环境>>>>>>>>> nfs服务端:(nfs-server)192.168.100.2 nfs客户端:(nfs-client)192.168 ...

  2. Linux下网络文件系统NFS服务搭建易错点总结

    一.环境准备: 1 [root@czh ~]# cat /etc/redhat-release 2 CentOS release 6.7 (Final) 3 [root@czh ~]# uname - ...

  3. window nfs 服务端配置安装

    windows7下面安装nfs客户端命令(首先开启windows客户端mount挂载命令): 打开或关闭windows功能>nfs服务(勾选上)重启   windows nfs共享有两种方式分别 ...

  4. Windows10配置NFS服务端和客户端

    环境:Windows10企业版x64 安装服务端 安装hane win nfs server,版本1169(官方最新版1223经试验不成功). 设置如下: 以管理员身份重启服务(注:软件界面上&quo ...

  5. java网络编程-单线程服务端与客户端通信

    该服务器一次只能处理一个客户端请求;p/** * 利用Socket进行简单服务端与客户端连接 * 这是服务端 */public class EchoServer { private ServerSoc ...

  6. NFS服务端与客户端配置

    #首先确认系统中是否安装了对于的软件 rpm -qa|grep -i nfs #在有网络的情况下使用YUM安装NFS.rpcbind软件包 yum install lrzsz nmap tree do ...

  7. 网络文件系统NFS

    NFS介绍 什么是NFS? NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用 ...

  8. NFS相关、NFS服务端安装配置、exportfs命令、nfs客户端的问题

    1.NFS (network file system,基于RPC协议) 2.NFS服务端安装配置安装服务端:yum install nfs-utils rpcbind -y安装客户端:yum inst ...

  9. Linux centosVMware NFS介绍、NFS服务端安装配置、NFS配置选项

    一.NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版 ...

  10. NFS介绍 NFS服务端安装配置 NFS配置选项

    NFS 介绍 • NFS是Network File System的缩写 • NFS最早由Sun公司开发,分2,,4三个版本,2和3由Sun起草开发,.0开始Netapp公司参与并主导开发,最新为4.1 ...

随机推荐

  1. Mybatis中#{}和${}的区别:

    简单来说 #{} 会在将参数加上引号,例如:   SELECT * FROM user WHERE username=#{username} ;   带上参数后的SQL语句即:   SELECT * ...

  2. springboot和springmvc区别:

    spring boot只是一个配置工具,整合工具,辅助工具.springmvc是框架,项目中实际运行的代码Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但 ...

  3. 《最新出炉》系列入门篇-Python+Playwright自动化测试-51- 字符串操作 - 上篇

    1.简介 在日常的自动化测试工作中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥 ...

  4. uniapp 使用z-paging 分页组件 写在头部插槽内的单选按钮无法点击

    这个问题是因为组件层级太低 <z-paging ref="paging" v-model="dataList" @query="queryLis ...

  5. 深入了解 C# Span:高性能内存操作的利器

    深入了解 C# Span:高性能内存操作的利器 在 C# 7.2 中引入的 Span<T> 类型为我们提供了一种高效且安全地对内存进行操作的方式.Span<T> 是一个轻量级的 ...

  6. version `GLIBC_2.14' not found 问题解决

    参考连接:https://blog.csdn.net/u011262253/article/details/99056385

  7. 在python中提示ImportError: No module named _caffe

    问题描述 在编译import caffe的时候提示 ImportError: No module named _caffe 设备平台 ubuntu 16.04LTS 解决方案 1.打开终端(ctrl+ ...

  8. 【BUG记录】Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xA6' for column 'name' at row 1

    大家好呀,我是summo,这次的文章标题是一个Mysql数据库的SQL错误,遇到的同学自然懂,没遇到的同学希望你永远也不要遇到. 一.错误说明 Cause: java.sql.SQLException ...

  9. 在Linux中使用crontab

    背景 虽然不是专业运维,但是在嵌入式开发中还是需要懂一点的.部门内部搞服务器最厉害的就是我了,汗. 参考: https://blog.csdn.net/longgeaisisi/article/det ...

  10. 模拟用户登录-cookes

    import requests url = 'https://www.xread8.com/user/login.json' headers = { 'User-Agent': 'Mozilla/5. ...