我想挂载一个文件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