Назад | Перейти на главную страницу

Подключить общую папку (vbox) от имени другого пользователя

Я пытаюсь монтировать мою общую папку vbox каждый раз, когда мой ubuntu запускается.

Итак, я добавил запись в / etc / init со следующим:

description     "mount vboxsf Desktop"

start on startup

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

Кажется, работает, за исключением того факта, что все файлы принадлежат "root", и у меня нет разрешения на запись в папку (похоже, ни chmod, ни chown не работают).

Итак, как я могу сделать все файлы в этой общей папке принадлежащими пользователю / группе www-data?

Спасибо


ps: Основная причина, по которой у меня есть автоматическая общая папка, заключается в том, что я могу создавать / редактировать файлы с HOST в папке GUEST www.

Если у вас есть идея получше, вместо того, чтобы делиться папкой, можете сказать.

[Тот же ответ, что и в: Переполнение стека]

Ну, пока у меня возникла еще одна проблема, связанная с моей общей папкой, я в итоге получил вопрос о стеке: https://stackoverflow.com/questions/6298933/shared-folder-in-virtualbox-for-apache

Это помогло мне двумя способами, и, похоже, мне нужны эти параметры uid и gid.

Итак, чтобы смонтировать общую папку от имени другого пользователя, я бы запустил:

mount -t vboxsf SHARE_NAME /some/dir -o uid=48,gid=48

Кроме того, чтобы узнать, какие у вас www-dataс гид и uid, просто беги id www-data.

Если вам также необходимо изменить разрешения для подключенных файлов, просто добавьте «dmode» к параметрам, как:

sudo mount -t vboxsf SHARE_NAME -o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest

Доступные варианты (от 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

И если вам нужно, чтобы он запускался во время инициализации системы, просто создайте файл в /etc/init/SOMETHING.conf примерно так:

description     "SOME DESCRIPTION"

start on startup

task
exec mount -t vboxsf SHARE_NAME /path/on/guest -o uid=1000,gid=33


Если вы хотите поделиться своими файлами между хостом и гостем, вы можете легко запустить веб-сервер вместо жесткого совместного использования папки. Обратите внимание, что в моих командах хост и клиент - это Ubuntu 14.04: На хосте:

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


Предположим, что IP-адрес хоста (10.1.0.110) теперь находится в гостевой системе, откройте каталог, используя следующее:

xdg-open http://10.1.0.110:8000

Обратите внимание, что указанный выше порт может отличаться от порта 8000. xdg-open находится в пакете xdg-utils. Если вы не устанавливали его раньше, запустите это в гостевой системе:

sudo apt-get install xdg-utils