Você pode tentar isso?
mount -t vboxsf -ouid=root,gid=www-users,fmode=664,dmode=775 web-server /usr/share/host/web-server
Estou executando uma instância do VirtualBox para convidados do Ubuntu. Eu tenho uma pasta de host web-server
sendo compartilhada com o convidado. No convidado, há dois usuários que precisam de acesso gravável à pasta compartilhada: o usuário daemon www-data
e um usuário de login SSH regular, que eu chamarei de jdoe
, que são ambos membros do grupo que eu chamarei. www-users
No host, a pasta se parece com:
$ ls -al /Users/jdoe/web-server
drwxrwsr-x 14 jdoe staff 448 Jun 19 11:04 .
No convidado, a pasta é montada com:
$ mount -t vboxsf -ogid=www-users web-server /usr/share/host/web-server
E a execução de mount
mostra:
web-server on /usr/share/host/web-server type vboxsf (rw,nodev,relatime)
Eu também tentei adicionar jdoe
ao grupo vboxsf
; jdoe
tem os seguintes grupos:
jdoe adm sudo vboxsf ssl-cert www-users
Embora a configuração pareça funcionar em hosts Windows e Ubuntu, no OS X, o usuário convidado não tem acesso gravável à pasta. As permissões no convidado aparecem como:
$ ls -al /usr/share/host/web-server
drwxrwxr-x 1 root www-users 448 Jun 19 11:04 .
Mas quando logado como jdoe
, não consigo escrever na pasta:
$ touch /usr/share/host/web-server/foo
touch: cannot touch '/usr/share/host/web-server/foo': Permission denied
Se eu alterar a montagem para -ouid=jdoe,gid=www-users
, então jdoe
poderá gravar nela e, se eu alterá-la para -ouid=www-data,gid=www-users
, então www-data
poderá gravar nela. Em ambos os casos, outros membros do www-users
não podem gravar na pasta.
Outra observação é que não posso confiar na montagem automática do VirtualBox, porque isso precisa funcionar como na produção, onde as unidades são montadas na hora.
Você pode tentar isso?
mount -t vboxsf -ouid=root,gid=www-users,fmode=664,dmode=775 web-server /usr/share/host/web-server