Montar a pasta compartilhada (vbox) como outro usuário

5

Estou tentando montar minha pasta compartilhada vbox toda vez que meu Ubuntu é iniciado.

Então, eu adicionei uma entrada em / etc / init com isto:

description     "mount vboxsf Desktop"

start on startup

task
exec mount -t vboxsf Desktop /var/www/shared

Parece funcionar, exceto pelo fato de que todos os arquivos são de propriedade de "root", e eu não tenho permissão para escrever na pasta (nem chmod nem chown parecem estar funcionando).

Então, como posso fazer com que todos os arquivos dessa pasta compartilhada sejam de propriedade do usuário / grupo www-data?

Obrigado

ps .: A principal razão para eu ter uma pasta compartilhada automática é para que eu possa criar / editar arquivos do HOST na pasta www.

Se você tem uma ideia melhor para isso, em vez de compartilhar a pasta, fique à vontade para dizer.

    
por dmmd 31.05.2012 / 02:53

2 respostas

12

[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
    
por 19.06.2012 / 03:52
0


Se você deseja compartilhar seus arquivos entre o seu host e seu convidado, você pode facilmente executar um servidor Web em vez de compartilhamento de uma pasta. Por favor, note que o host e o cliente é o Ubuntu 14.04 nos meus comandos: No host:

mkdir /home/SomeDirectory
cd /home/SomeDirectory
python -m SimpleHTTPServer


Supondo que o host ip (10.1.0.110), agora no guest, abra o diretório usando o seguinte:

xdg-open http://10.1.0.110:8000

Observe que sua porta acima pode ser diferente de 8000. O xdg-open está no pacote xdg-utils. Se você não instalá-lo antes, execute isso no guest:

sudo apt-get install xdg-utils
    
por 16.01.2016 / 09:34