通过更改默认所有者挂载 NFS 文件系统

通过更改默认所有者挂载 NFS 文件系统

我想挂载一个文件NFS系统。怎样才能做到呢?user/group ownership<admin>

mkdir /cert
chown admin.admin /cert
mount -t nfs 192.168.2.149:/portalweb /cert/

答案1

在 NFS 服务器上使用非交互式 shell 创建用户和组 admin,假设 nfs 客户端中存在 admin 用户和组。非交互式 shell 选项将阻止 NFS 客户端的管理员访问 NFS 服务器。它可以工作,因为 nfs 将服务器的 uid 和 gid 与其客户端进行映射,因此只要服务器和客户端之间的管理员用户和组的 uid 和 gid 匹配,分配给导出目录的任何文件权限都将保持不变。 ACL 是 nfsv3 特定选项。

记下客户端计算机中的 admin uid 和 gid(主),并使用它在 NFS 服务器中创建帐户。例如客户端计算机中管理员的 uid|gid = 502

NFS 服务器:

作为根用户:

useradd -u 502 -s /sbin/nologin admin
mkdir /portalweb
chmod 770 /portalweb
chown admin /portalweb
chgrp admin /portalweb
ls -ld /portalweb
getfacl /portalweb

您可以通过放置在 /portalweb 目录中的 setgid 位来允许管理员组成员之间进行协作。

vim /etc/exports
     /portalweb 192.168.2.149(ro,sync,root_squash)
:wq

exportfs -rv

NFS 客户端:

作为根用户:

mkdir /cert
vim /etc/fstab
192.168.2.149:/portalweb /cert nfs ro,nfsvers=4 0 0
:wq

mount -a
df -h -F nfs
mount | grep nfs    
      192.168.1.71:/exports on /cert type nfs (r0,nfsvers=4,addr=192.168.2.49,clientaddr=192.168.2.50)

root 用户无法访问 /cert 中的文件,因为 root 已被压缩为用户和组:“nobody”(请参阅​​ NFS 服务器上的 /etc/exports)。但默认情况下,root 有权在客户端计算机上挂载 NFS 导出。如果您更喜欢使用 autofs 服务,则普通用户(例如 admin)没有权限使用 autofs 服务设置自动挂载 NFS 目录,除非他们被授予像 sudo 用户一样的特殊管理员权限。

ls -ld /cert 
      drwxrwx---. 12 admin admin 4096 Dec 10 /cert
ls /cert
      ls: cannot open directory /cert: Permission denied
su - admin

作为管理员用户(只有管理员用户(或管理员组,如果正确配置了客户端和服务器之间的 uid 匹配)可以访问 /cert 内容):

ls /cert

与任何其他用户一样:

ls /cert
   ls: cannot open directory /cert: Permission denied

相关内容