Eu tenho o nfs4 configurado entre um servidor RHEL 5.3 (charlie) e um cliente RHEL 5.4 (simcom1). As máquinas são configuradas para autenticar usuários via kerberos por uma máquina de diretório ativo do Windows Server 2008 chamada "alpha". O Alpha também serve como uma máquina dns e dhcp para a rede local.
Percebo que quando um usuário efetua login em uma máquina do RHEL pela primeira vez, ele recebe um uid exclusivo para essa máquina; O primeiro usuário a fazer logon obtém 10001. Então, o que eu vejo é que os usuários entre simcom1 e charlie têm UIDs diferentes. Quando um usuário faz um comando 'ls -la' de dentro de uma montagem nfs4, eu teria pensado que os nomes de usuários na coluna do proprietário indicariam 'nobody' ou pelo menos o nome de usuário incorreto - já que os UIDs são diferentes entre as máquinas de cada usuário e nem todos os usuários efetuaram login em cada máquina.
No entanto, o simcom1 é capaz de resolver nomes de usuários em um 'ls -la' executado em arquivos que residem no charlie via nfs4 corretamente. O mais preocupante é que os usuários não conseguem gravar em arquivos na montagem nfs.
O servidor, charlie, tem o diretório raiz exportado como rw. O cliente, simcom1, monta a exportação como rw. Minhas configurações são mostradas abaixo.
A minha pergunta é, como configuro as máquinas RHEL para permitir que os usuários gravem arquivos no nfs4 que já estão montados como leitura / gravação?
[root@charlie ~]# more /etc/exports
/ 10.100.0.0/16(rw,no_root_squash,fsid=0)
[root@charlie ~]#cat /etc/sysconfig/nfs
#
# Define which protocol versions mountd
# will advertise. The values are "no" or "yes"
# with yes being the default
#MOUNTD_NFS_V1="no"
#MOUNTD_NFS_V2="no"
#MOUNTD_NFS_V3="no"
#
#
# Path to remote quota server. See rquotad(8)
#RQUOTAD="/usr/sbin/rpc.rquotad"
# Port rquotad should listen on.
#RQUOTAD_PORT=875
# Optinal options passed to rquotad
#RPCRQUOTADOPTS=""
#
#
# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769
#
#
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
# Turn off v2 and v3 protocol support
#RPCNFSDARGS="-N 2 -N 3"
# Turn off v4 protocol support
#RPCNFSDARGS="-N 4"
# Number of nfs server processes to be started.
# The default is 8.
RPCNFSDCOUNT=8
# Stop the nfsd module from being pre-loaded
#NFSD_MODULE="noload"
#
#
# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
#STATDARG=""
#RPCMOUNTDOPTS=""
# Port rpc.mountd should listen on.
#MOUNTD_PORT=892
#
#
# Optional arguments passed to rpc.statd. See rpc.statd(8)
#RPCIDMAPDARGS=""
#
# Set to turn on Secure NFS mounts.
SECURE_NFS="no"
# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
#RPCGSSDARGS="-vvv"
# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
#RPCSVCGSSDARGS="-vvv"
# Don't load security modules in to the kernel
#SECURE_NFS_MODS="noload"
#
# Don't load sunrpc module.
#RPCMTAB="noload"
#
[root@simcom1 ~]# cat /etc/fstab
--start snip--
charlie:/home /usr/local/dev/charlie nfs4 rw,nosuid, 0 0
--end snip--
[brendanmac@simcom1 /usr/local/dev/charlie/brendanmac]# touch file
touch: cannot touch 'file': Permission denied
[brendanmac@simcom1 /usr/local/dev/charlie/brendanmac]# su
Password:
[root@simcom1 /usr/local/dev/charlie/brendanmac]# touch file
[root@simcom1 /usr/local/dev/charlie/brendanmac]# ls -la file
-rw------- 1 root root 0 May 26 10:43 file