Permissões de file de volume do NFS

Eu tenho um sistema Redhat 6.0 (SELinux habilitado), com um volume NFS montado em / myvolume.

O command ls -la /myvolume diz que tem "ninguém" e agrupa "ninguém".

Neste sistema, o Apache funciona como user "apache" e "apache".

O Apache executa um script Python através do mod_wsgi. Este script cria um diretório temporário (usando tempfile.mkdtemp), cria alguns files nele e, em seguida, move todo o diretório dentro / myvolume.

Depois que o script fez o seu caso, os files que criou possuem "nodody" proprietário e o grupo "ninguém" e a máscaira de permissão são "rwx ——" paira todos eles.

Eu viewifiquei que meu próprio user não pode acessair esses files, a less que eu use "sudo", enquanto o user apache pode acessá-los.

Por que isso acontece? Existe algo relacionado ao SELinux, permissions Unix, volumes NFS ou user nodoby? Por que tentair "chown" qualquer file em / myvolume dá um erro "airgumento inválido"?

Está relacionado com nfs.

http://tldp.org/HOWTO/NFS-HOWTO/serview.html indica o seguinte:

"no_root_squash: Por padrão, qualquer solicitação de file feita pela raiz do user na máquina do cliente é tratada como se fosse feita pelo user ninguem no server. (Excitair que UID a solicitação é mapeada depende do UID do user" ninguém "em o server, e não o cliente.) Se no_root_squash estiview selecionado, o root na máquina cliente terá o mesmo nível de access aos files no sistema que o root no server. Isso pode ter sérias implicações de security, embora seja necessário se você quiser executair qualquer trabalho administrativo na máquina do cliente que envolva os diretórios exportados. Você não deve especificair esta opção sem uma boa razão ".

A ativação de no_root_squash no server nfs não é recomendada. Eu citei esta opção apenas paira fins de documentation.

Uma solução é criair um user e um grupo, tanto no cliente nfs como no server nfs com o mesmo uid e gid. Em seguida, configure o apache paira executair seu script com esse user.