参考:

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. Linux使用docker搭建maven私有仓库

    引言 在实际开发工作中,通常需要搭建maven私有仓库,今天就教大家如何搭建一套maven的私有仓库 Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓 ...

  2. LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning、Lora、Prefix tuing等]

    LLM微调方法(Efficient-Tuning)六大主流方法:思路讲解&优缺点对比[P-tuning.Lora.Prefix tuing等] 由于LLM参数量都是在亿级以上,少则数十亿,多则 ...

  3. k8s使用rbd作为存储

    k8s使用rbd作为存储 如果需要使用rbd作为后端存储的话,需要先安装ceph-common 1. ceph集群创建rbd 需要提前在ceph集群上创建pool,然后创建image [root@ce ...

  4. 让matplotlib在绘图时显示中文

    让matplotlib绘图时显示中文. 安装中文字体 apt install fonts-wqy-microhei 清除matplotlib的缓存    rm -rf ~/.cache/matplot ...

  5. 解决keil5仿真错误:Encountered an improper argument

    --- title: 解决keil5仿真错误:Encountered an improper argument date: 2020-06-18 03:13:18 categories: tags: ...

  6. mysql查看用户的过期时间

    1. mysql查看用户的过期时间的方法 在MySQL中,用户的过期时间(也称为账户过期日期)是一个可选项,用于确定某个MySQL用户账户何时到期.但是,值得注意的是,并非所有的MySQL安装或版本都 ...

  7. 【价格全面下调】一片含税79元,双核A7@1.2GHz,-40℃~85℃真工业级!

    自9个月前,创龙科技全志T113-i核心板(SOM-TLT113)推出之后,受到广大工业用户的高度关注,且超过300家企业已选用创龙科技T113-i核心板用于终端产品开发. 为了让更多用户轻松选择T1 ...

  8. 【Hive报错】java.lang.NoSuchMethodError(com.facebook.fb303.FacebookService$Client.sendBaseOneway

    Hive2.3版本 Hadoop2.7版本 执行hive命令报错: 报错内容: CONSOLE#21/03/24 17:32:54 ERROR ql.Driver: FAILED: Hive Inte ...

  9. new操作符具体干了什么呢?

    new操作符的作用如下: 1.创建一个空对象2.由this变量引用该对象3.该对象继承该函数的原型4.把属性和方法加入到this引用的对象中5.新创建的对象由this引用,最后隐式地返回this.过程 ...

  10. linux环境搭建mysql5.7总结

    以下安装方式,在阿里云与腾讯云服务器上都测试可用. 一.进入到opt目录下,执行: [root@master opt]# wget https://dev.mysql.com/get/Download ...