Estou criando um ambiente de desenvolvimento em que as pastas de um ambiente host (OSX) são montadas em VMs do VirtualBox que executam convidados do Ubuntu.
Nossa experiência é que os diretórios compartilhados diretos do VirtualBox são muito lentos, então normalmente fizemos isso montando o diretório como uma montagem NFS dentro do guest. A edição em tempo real do ambiente host é um requisito.
O problema é que operações como chown
e chgrp
falham, e precisamos replicar algo próximo ao nosso ambiente de produção (por exemplo, www-data
possuindo os arquivos usados pelo Apache).
bindfs parecia uma possibilidade promissora:
bindfs - mirrors or overlays a local directory with altered permissions
Mas não parece ser possível alterar as permissões com utilitários nativos do Unix e chamadas do sistema. Isso não funcionará para mim, já que preciso integrar com os sistemas de gerenciamento de configuração existentes (Salt, Puppet) que provisionam as caixas.
Existe alguma outra maneira de fazer com que uma montagem do NFS pareça um diretório regular no que diz respeito às permissões? Ou outra alternativa para montar um diretório em uma VM VirtualBox?
EDITAR : Aqui está a saída do mount:
192.168.34.1:/Users/$me/src/states /etc/apps/state type nfs (rw,vers=3,addr=192.168.34.1)
192.168.34.1:/Users/$me/src/apps on /srv/apps type nfs (rw,vers=3,addr=192.168.34.1)
Quando digo que a alteração de permissões "falha", quero dizer que recebo erros de "operação não permitida".
Por exemplo:
$ ls -l /srv/www
total 8
drwxrwxr-x 4 501 dialout 136 May 31 16:20 default_vhost
drwxrwxr-x 5 501 dialout 170 May 31 16:20 default_vhost_ssl
$ chown root /srv/www/*
chown: changing ownership of '/srv/www/default_vhost': Operation not permitted
chown: changing ownership of '/srv/www/default_vhost_ssl': Operation not permitted