Temos um servidor RHEL 5.9 com diretórios montados em NFS a partir de um NAS central. Lá, temos um diretório de propriedade de aird1(11055):app_dev(1101)
user / group com rwxrwsr-x
permissions (ou seja, sgid para app_dev). E finalmente temos um processo sendo executado como grid(1001)
user.
O problema é que o usuário grid
pode gravar no diretório, embora não seja possível. Quando eu faço um diretório de teste local com a mesma propriedade e permissões que o NFS montado, eu não consigo escrever nele, que é o que eu espero.
Por algum motivo, as montagens do NFS não obedecem totalmente às permissões. Aqui está um exemplo:
$ ls -ldn /nfs/aird1/tmp
drwxrwsr-x 5 aird1(11055) app_dev(1101) 24576 Oct 17 13:21 /nfs/aird1/tmp
O diretório é de propriedade de aird1(11055):app_dev(1101)
e não tem nenhuma ACL anexada.
Quando tento criar um arquivo na minha conta, ele falha:
$ id
uid=20501(myuser) gid=1003(mygroup) groups=10(wheel),1003(mygroup)
$ ls -l /nfs/aird1/tmp/xyz
ls: /nfs/aird1/tmp/xyz: No such file or directory
$ touch /nfs/aird1/tmp/xyz
touch: cannot touch '/nfs/aird1/tmp/xyz': Permission denied
Isso é esperado, mas agora é o mesmo que o usuário grid
...
$ id
uid=1001(grid) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
$ touch /nfs/aird1/tmp/xyz
$ ls -l /nfs/aird1/tmp/xyz
-rw-r--r-- 1 grid(1001) app_dev(1101) 0 Oct 17 13:24 xyz
Por que eu consegui criar o arquivo? Não há sobreposição entre os UIDs e os GIDs de propriedade de diretório e nem o myuser
ou o grid
com alguns UIDs / GIDs que eu posso criar o arquivo e, com alguns outros, não consigo.
Este é o registro de /etc/fstab
:
nas:/vol/... /nfs nfs rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,nosuid,actimeo=0 0 0
Alguma idéia do que está acontecendo aqui?
Obrigado!