В VirtualBox, что это лучший способ разделить каталог между хостом OS X и Ubuntu гостя?
- Ведущий: Mac OS X 10.7.3
- Гость: Ubuntu 12.04
- Гость имеет общий каталог монтируется с помощью настроек VirtualBox с Access = Full и Auto-Mount = Да .
Проблема с этой настройкой показана ниже. В моем общем каталоге, я не могу изменить права доступа на всех (а не разрешения отказывали ошибку, но они просто не вступили в силу).
Ubuntu 12,04 (гость):
% ls -l
total 0
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 10
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 2
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 3
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 4
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 5
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 6
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 7
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 8
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 9
Mac OS X 10.7.3 (хост):
$ ls -l
total 0
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 1
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 10
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 2
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 3
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 4
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 5
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 6
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 7
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 8
-rw-r--r-- 1 <my-mac-user> staff 0 Apr 17 21:56 9
Если я CHMOD на гостя, ничего не меняется:
% chmod +x 1 | ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
Если я CHMOD на хосте, он меняется на хосте, а не на гостя:
$ chmod +x 1 | ls -l 1 # host
-rwxrwx--x 1 <my-mac-user> staff 0 Apr 17 21:56 1
% ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
virtualbox
permissions
mac
jmdeldin
источник
источник
sudo mount.vboxsf -o umask=002,gid=1000,uid=1000 src /media/sf_src
, где Umask является значениеumask
пользователя, UID и GID взяты изid <user>
,src
это имя доли VBox, и/meida/sf_src
является искомой точкой монтирования.Ответы:
Я понял это!
Воспроизвести:
Из терминала, запустите
umask && id
как обычный пользователь , чтобы получить что - то вроде этого:sudo mkdir -p /media/sf_src # src is the shared directory
Для того, чтобы смонтировать
src
каталог в виде теста:Для автоматического монтирования его входа в систему , редактировать
/etc/fstab
и добавить следующее:источник
/sbin/mount.vboxsf
была символическая ссылка! Стирание его , а затемln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
решить эту проблему! Установка гостевых дополнений, вероятно, не смогла найти символическую ссылку. Я потратил далеко слишком много времени выяснить это!Проблема - проблемы с разрешениями в vbox / ubuntu для доступа к общему диску OSX
Цель - простой способ обмена каталогами между средами Mac и Ubuntu. К сожалению, примеры, которые я видел до сих пор, кажутся немного более сложными, чем они должны быть на самом деле, и на самом деле не объясняют, какова реальная проблема, которую необходимо решить. Я буду пытаться обрабатывать оба этих вопросов здесь.
Среда здесь - Mac с OSX 10.9.5, с Virtual Box 4.3.16, исполняющим Ubuntu-14.04.1 с установленными гостевыми расширениями. Сентябрь 2014 материал.
Я думаю , что вся проблема здесь состоит в том , что UID из каталогов на Mac, так и в Ubuntu должно совпадать - по умолчанию GID ДЕТСКИЙ назначена для пользователей и групп различаются между OSX и Ubuntu, и вот где беда.
Чтобы получить доступ к файлу, нужно либо иметь его, или быть членом группы, которая владеет. И поскольку доступ фактически основан на номере группы, а не на имени группы, все, что необходимо, это создать общий номер группы с обеих сторон, к которым принадлежат пользователи.
Это именно то, что делает ниже решение. Не вводите в заблуждение длиной написанного, это на самом деле очень просто. Есть только много и много примеров того, что происходит.
Я собираюсь листать между OSX и VBOX консолей здесь (макинтош и виртуальный ящик / убунту) в этом док - убедитесь , что вы понимаете , какое окно вашего в.
Последнее замечание: решение, показанное ниже, основано на установлении общего идентификатора группы между средами OSX и Ubuntu, чтобы разрешения для файлов работали. Там могут быть и другие, более современные решения. Это одна очень проста и понятна, и работает на голые кости основных неукрашенными установок.
OSX: —————
Обратите внимание, что это было сделано на свежем из коробки 10.9.5 Mac, ни с чем на нем, не подключен к корпоративной сети, ничего не фантазии, работающие на нем, кроме акций программного обеспечения. Это так просто, как только может.
Когда я делал установку по умолчанию на Mac, joe_public был администратором, и его uid был установлен на 501 .
Обратите внимание , что UID является 501 - это по умолчанию первый идентификатор аккаунта на OSX - ничего особенного
Я создал несколько каталогов, которыми хочу поделиться на стороне Mac. Обратите внимание, что я не помещал их в свой каталог пользователя по причинам резервного копирования.
VBOX: ------
Простой виртуальный ящик по умолчанию и установка Ubuntu - опять же, joe_public - это администратор по умолчанию, созданный, когда я установил Ubuntu.
Обратите внимание еще раз, что пространство имен между OSX и Ubuntu совершенно другое. Там нет абсолютно никакой связи между этими двумя именами здесь.
Создано три точки монтирования, используя Virtual Box в Настройки -> Общие папки с графическим интерфейсом.
Примечание: Я на самом деле пришлось перезагружать сеанс для всех этих точек монтирования придумать.
Обратите внимание , что GID для них 999 - это vboxsf группа.
Это был назначен automagicly на Virtual Box версии 4.3.16 для нас. Документация vbox показывает, как это изменить, если вы смонтируете путь вручную через командную строку, но кто помнит об этом - просто примите значения по умолчанию, которые нам навязывает графический интерфейс.
Но это не работает (ожидаемый на данный момент - это то, что мы пытаемся решить)
Обратите внимание, что на данный момент joe_public не является членом этой группы vboxsf - и это будет проблемой, пока мы не исправим это. К вашему сведению: это группы по умолчанию, назначенные учетной записи при ее создании.
Итак, что мы имеем на данный момент (мы еще ничего не сделали, чтобы это исправить)
Мы не хотим , чтобы изменить GID пользовательского joe_public с обеих сторон, так как это боль в заднице на уже установленных систем, а не решает это для других пользователей. Самое простое решение , чтобы сделать соответствующий идентификатор группы - vboxsf - на стороне макинтош, и убедитесь , что joe_public является членом его с обеих сторон.
Так, до сих пор на VBox / убунту, сделать joe_public членом 999 vboxsf группы
Я думаю, что я вышел из моего счета и обратно снова здесь после того, как я сделал это.
OSX: —————
Теперь нам нужно создать группу vboxsf на Mac. Я сомневаюсь , что имя действительно имеет значение здесь - это 999 идентификатор группы , что очень важно. Пожалуйста , помните , что имя системы каталогов пространство (а также имена пользователей) отличается между хостом и операционных систем VM. Но только , чтобы сделать жизнь в здравом уме, все мы называем это vboxsf на макинтош. То же рассуждение , почему joe_public используется имя пользователя с обеих сторон.
OSX не имеет простую команду добавить группу, как Linux делает - так что используйте команду DSCL, чтобы сделать это в несколько этапов. Пожалуйста, обратитесь к документации Mac OS для более подробной информации об этом. Обратите внимание, что мы создаем группу vboxsf и добавить joe_public к этой группе здесь.
Итак, на данный момент, мы должны иметь
Доказательство здесь, если это работает - так что это следующий шаг
VBOX: ------
Перейдите в наш каталог и коснитесь файла
Убедитесь, что мы успешно создали файл.
OSX: —————
VBOX: ------
Кажется, все работает
VBOX ------ ЗАВЕРШЕНИЕ ПРОВЕРКИ
То , что мы проверяем здесь является то , что вся эта вещь зависит от пользователя joe_public будучи членом vboxsf группы - и самый простой способ это просто удаление joe_public из группы
Удаление пользователя joe_public из группы vboxsf
Видя, если мы можем получить доступ к этому нашему каталогу - и мы не можем, и это доказывает, что проблема разрешения группы
Добавить пользователя обратно в vboxsf
Он снова работает!
VBOX: - ОДНА ПРОБЛЕМА - символические ссылки в VBox -------
Если вы идете в / СМИ / sf_shared , вы обнаружите , что символические ссылки в общих каталогах просто не работают. Это действительно большая проблема , если вы пытаетесь создать полную среду разработки Linux на общий диск.
По умолчанию символические ссылки не поддерживаются в виртуальных общих папках. Смотрите объяснения ниже. В принципе, насколько я понимаю, символические ссылки представляют собой дыру в безопасности, которая была «исправлена» в Virtual Box путем отключения их поддержки в период 4.1.8 (2011 г.). Я бегу 4.3.16 здесь ...
https://www.virtualbox.org/ticket/10085
http://ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/
К счастью, есть задняя дверь для его повторного включения через команду Host VBoxManage . Как всегда, пожалуйста, поймите дыры в безопасности, которые вы можете открыть. Я на машине для разработки автономных, так что это не представляется проблемой.
OSX: ------------
Примечание: Ubuntu этого имя моей виртуальной машины, и общее это общее имя каталога.
Вы можете получить имя VM следующим образом:
И имя общих папок, либо через графический интерфейс Virtual Box, либо
Я перезагрузил всю систему виртуальной коробки здесь, я не выяснить требование минимальной для того, чтобы принять.
В любом случае, чтобы проверить это, вернитесь в окно vbox.
VBOX: ---------
Нет ошибки - и проверить
OSX: ----------
И вернемся к Mac - просто чтобы доказать, что все работает
Обратите внимание, я проверял это только на хосте OSX и клиенте виртуальной коробки Ubuntu. Ссылки, которые я перечислил выше, похоже, указывают на то, что может быть проблема с хостом на базе Windows.
Упражнение осталось для студента ———————
Преимущество метода, указанного выше, заключается в том, что он может работать на автономной машине без доступа к сети. Но если подумать об этом, проблема name-verses-id должна стать общей проблемой для любых разнородных вычислительных сред.
Какие другие решения доступны там, где доступны решения этой проблемы? - Такие вещи, как Active Directory (продукт Microsoft) и тому подобное, могут решить эту проблему. Было бы интересно получить коллекцию этих решений и сравнить там различные особенности и компромиссы.
источник
Для меня все, что мне нужно было сделать:
Этого было достаточно для меня, чтобы получить доступ к общим папкам. В папке есть группа vboxsf, для доступа к ней нужно всего лишь назначить пользователя. Если вам нужно установить более строгий доступ или более контролируемый доступ, вам может потребоваться выполнить шаги по его монтированию вручную с правильными идентификаторами пользователей.
Для меня решение fstab не сработало и заставило машину загружаться неправильно.
источник
После того, как вы создадите общую папку в настройках Virtualbox, Ubuntu автоматически подключит ее для вас при следующей загрузке системы (вы увидите значок на рабочем столе).
Но если вы не используете учетную запись root, у вас не будет разрешения на доступ к ней. Что вам нужно сделать, это добавить свою учетную запись в группу пользователей с именем 'vboxsf':
Затем выйдите и войдите снова. Вы можете получить доступ к общей папке сейчас.
источник
Начиная с VirtualBox v4.0, эти проблемы с разрешениями легко решать! Вам не нужно беспокоиться о том
mkdir
,mount
,chmod
,umask
и т.д. Чтобы получить доступ к авто , монтируемые общие папки (которые появляются в/media
сsf_
префиксами по умолчанию), есть только одна вещь , которую вы должны сделать: Добавить пользователя вvboxsf
группу черезsudo usermod -a -G vboxsf [username]
.Для удобства вы также можете создать символические ссылки на эти общие папки в вашей
home
папке (например,ln -s /media/sf_Stuff ~/Stuff
).Источник: http://www.virtualbox.org/manual/ch04.html#sf_mount_auto
источник
Я нашел это, я тестировал, и это работало в Ubuntu и Xubuntu, только функция автоматического монтирования не работала для меня
I. Установите гостевые дополнения
Во-первых, необходимо установить гостевые дополнения VirtualBox в хост-систему:
Выберите в меню VitualBox: Устройства -> Установить гостевые дополнения ...
Он устанавливает новый ISO для хост-системы. Новый компакт-диск появится в Ubuntu (или смонтируйте его). Запустите от имени пользователя root установочный скрипт VBoxLinuxAdditions-x86.run (потому что это Mac на базе Intel) в окне терминала:
Возможно, вам будет предложено перезапустить Ubuntu.
Установка гостевых дополнений имеет много преимуществ, таких как принятие разрешения экрана (ваш размер окна соответствует разрешению системы, т.е. нет полос прокрутки), простой режим мыши (не нужно нажимать левую командную кнопку, чтобы отпустить курсор мыши) и то, что мы ищем для общих папок.
II. Создать общую папку
Цель - получить доступ к общей папке, что проще, чем использовать sshd или Samba.
Выберите в меню VitualBox: Устройства -> Общие папки ...
III. Смонтировать общую папку
Смонтируйте созданную общую папку в папку с разрешениями для вашего пользователя. Давайте откроем окно терминала в Ubuntu и:
Создайте папку, в которую будет установлена общая папка. (Пропустите этот шаг, если у вас уже есть папка для этого.)
например (в / тмп)
Получите ваш пользовательский UID:
Результат будет примерно таким:
Таким образом, uid моего пользователя - 1000. Смонтируйте общую папку SHARED_FOLDER_NAME в папку MOUNTED_FOLDER с правами собственности для пользователя с uid USER_ID в качестве пользователя root:
например
Задание параметра uid включает запись в общую папку для вашего пользователя. Подключенная папка MOUNTED_FOLDER (например, / tmp / share) содержит файлы из общей папки на жестком диске Mac. Можно также написать в общую папку. При желании общая папка может быть автоматически смонтирована при запуске виртуальной машины. Добавьте следующую строку в файл / etc / fstab (от имени пользователя root, например sudo vim / etc / fstab):
например
где значения uid и gid можно найти в выходных данных команды id (подробный пример см. в шаге 2). Общая папка будет доступна также после перезапуска виртуальной машины.
Источник: http://www.valibuk.net/2009/03/accessing-mac-os-x-harddrive-from-ubuntu-in-virtualbox-via-shared-folders/
источник
ОС хоста : macOS Виртуальная
(гостевая) ОС : Ubuntu Server 16.04.5 LTS
VirtualBox v5.2.18.
И у хостовой, и у гостевой ОС должен быть один и тот же пользователь (далее по тексту: имя пользователя ).
Этап 1. Установка гостевых дополнений VirtualBox :
1.1. Найдите гостевые дополнения VirtualBox,
1.2. Запустите ВМ
1.3. Нажмите значок компакт-диска в правой нижней панели задач
1.4. Выберите «Выберите образ диска ...» и найдите VBoxGuestAdditions.iso.
1,5. В гостевом терминале введите (вы также можете сделать это с хост-терминала, если вы используете SSH):
Этап 2: Настройка общих папок:
2.1. Создать правила в ВМ:
Settings > Shared Folders
Add new port forwarding rule
зеленую кнопку в правом верхнем углу окна.Auto-mount
иMake Permanent
параметры2.2. Чтобы смонтировать общую папку
/opt
, необходимо создатьshared_folder_dir
подпапку и установить для нее соответствующие разрешения:2,3. Добавьте имя пользователя в группу vboxsf :
2,4. Перезагрузите ВМ, чтобы применить изменения:
Этап 3: автоматическая установка
host_folder
в/opt/shared_folder_dir
:3.1. Измените виртуальную машину /etc/rc.local:
и поместите следующее прямо выше
exit 0
:3.2. Перезагрузите ВМ, чтобы применить изменения:
Смотрите также
источник
С /ubuntu//a/171357/476506
Выше команда даст доступ к общей папке для «пользователя».
источник