个人小站

NFS squash特性相关

字数统计: 518阅读时长: 1 min
2021/06/19

写这篇文章是因为之前写的那个samba的想到了。顺带整理下。
这篇文章大部分都为猜测,未作有效以及查证相关检测。

在阅读这篇文章之前你需要了解

  1. Linux是多用户操作系统
  2. 用户以及组的保存都是基于id(uid gid)
  3. root 的 uid 是 0,root group 的 gid 是 0,系统自带的gid在/etc/group里可以看,但是不同的Linux版本可能会有不同
  4. NIS Server
  5. Kerberos (Attention,我知道这个是AD域主要的验证方式,具体见https://docs.microsoft.com/en-us/windows-server/security/kerberos/kerberos-authentication-overview,https://ted423.github.io/Issue/Kerberos/。但我目前的理解是Kerberos并不在NIS中使用,这个条目可能甚至跟整篇文章无关,但是NFS可以使用Kerberos进行验证)

众所周知
no_root_squash、root_squash、all_squash
但是所有文章只说了root帐户是否被映射为nobody,root_squash是把root映射为nobody。那么问题来了,其他用户呢?
众所周知
Linux是多用户操作系统。所以,其他用户如字面意思,不会被映射为nobody。这也是我踩得一个坑(
这几个设置,其实是要配合NIS来看的。
在多台Linux中,NIS保证用户以及组ID一致,然后挂载NFS确保相关的权限问题。

如果你没有NIS Server,你就只要用all_squash就好了,别的你都不用仔细理解,除非你是root everything的用户。
否则你会发现你的NFS Server文件夹文件权限里出现一堆乱七八糟的ID。或者因为用户ID、组ID重复变成了奇怪的问题
不过这里有另一点要说明,在没有NIS的情况下。如果希望同时在server端和client端使用。可能会需要no_root_squash,否则客户端没有root权限的话,会没法修改文件权限。
(其实个人用Linux的话,我感觉你能用samba就用samba吧,哪怕是两台Linux。基于IP的验证其实还是适合企业用)

扩展阅读(我还没看)
NIS+

原文作者:ted423

原文链接:http://ted423.github.io/Software/NFS%20Squash/

发表日期:June 19th 2021, 12:00:00 am

更新日期:June 19th 2021, 12:00:00 am

版权声明:本站原创内容(一般是语句不通顺的那种)采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可,转载内容以及不带个人观点的分享不在此例,摘抄有Wiki的内容的文章统一根据Wiki采用 CC BY-SA 3.0

CATALOG