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