Crie um administrador de grupo e usuário com shell não interativo no servidor NFS, supondo que o usuário administrador e o grupo existam no cliente nfs. A opção de shell não interativa impedirá que o administrador no cliente do NFS obtenha acesso ao servidor NFS. Ele funciona, porque o nfs mapeia o uid e gid do servidor com seus clientes, portanto, quaisquer permissões de arquivo atribuídas aos diretórios exportados permanecerão intactas desde que o uid e gid correspondam entre o servidor e o cliente para usuário administrador e grupo. ACL é uma opção específica do nfsv3.
Anote o admin uid e gid (primary) na máquina cliente e use-o para criar uma conta no servidor NFS. Por exemplo, uid | gid of admin na máquina cliente = 502
Servidor NFS:
Como usuário root:
useradd -u 502 -s /sbin/nologin admin
mkdir /portalweb
chmod 770 /portalweb
chown admin /portalweb
chgrp admin /portalweb
ls -ld /portalweb
getfacl /portalweb
Você pode permitir a colaboração entre membros do grupo admin através do bit setgid colocado no diretório / portalweb.
vim /etc/exports
/portalweb 192.168.2.149(ro,sync,root_squash)
:wq
exportfs -rv
Cliente NFS:
Como usuário root:
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)
O usuário root não pode acessar os arquivos em / cert, porque root foi esmagado para user e group: "nobody" (veja / etc / exports no servidor NFS). Mas o root tem o privilégio de montar as exportações do NFS na máquina cliente, por padrão. Se você preferir usar o serviço autofs, usuários normais como admin não terão privilégios para configurar automaticamente os diretórios NFS usando o serviço autofs, a menos que tenham privilégios especiais de administrador, como usuários do sudo.
ls -ld /cert
drwxrwx---. 12 admin admin 4096 Dec 10 /cert
ls /cert
ls: cannot open directory /cert: Permission denied
su - admin
Como usuário admin (somente usuário admin (ou grupo admin se configurado corretamente com uids correspondentes entre cliente e servidor) pode acessar o conteúdo / cert):
ls /cert
Como qualquer outro usuário:
ls /cert
ls: cannot open directory /cert: Permission denied