Смонтировать общую папку (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.

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

2 ответа

Решение

[Тот же ответ, что и в: StackOverflow]

Ну, пока у меня возникла еще одна проблема, связанная с моей общей папкой, я закончил тем, что получил этот вопрос stackoverflow: 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-данных, просто запустите 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
Другие вопросы по тегам