[Mesma resposta de em: StackOverflow ]
Bem, enquanto eu estava tendo outro problema relacionado à minha pasta compartilhada, acabei chegando a essa pergunta do stackoverflow: link
Isso me ajudou de duas maneiras, e parece que o que eu preciso são aquelas opções de uid e gid.
Então, para montar uma pasta compartilhada como outro usuário, eu executaria:
mount -t vboxsf SHARE_NAME /some/dir -o uid=48,gid=48
Além disso, para ver quais são seus www-data 's gid e uid , basta executar id www-data
.
Se você também precisar alterar as permissões nos arquivos montados, basta adicionar "dmode" às opções, como:
sudo mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest
As opções disponíveis são (da ajuda de mount
):
rw mount read write (default)
ro mount read only
uid =<arg> default file owner user id
gid =<arg> default file owner group id
ttl =<arg> time to live for dentry
iocharset =<arg> i/o charset (default utf8)
convertcp =<arg> convert share name from given charset to utf8
dmode =<arg> mode of all directories
fmode =<arg> mode of all regular files
umask =<arg> umask of directories and regular files
dmask =<arg> umask of directories
fmask =<arg> umask of regular files
E se você precisar que ele seja executado durante o init do sistema, basta criar um arquivo em /etc/init/SOMETHING.conf, com algo parecido com isto:
description "SOME DESCRIPTION"
start on startup
task
exec mount -t vboxsf SHARE_NAME /path/on/guest -o uid=1000,gid=33