Я создал общую папку в /Users /shared_folder. Я переместил файлы виртуальной коробки в эту папку /Users/shared_folder/.VirtualBox VMs/

Я установил всю папку со всеми разрешениями: sudo chmod -R 777 shared_folder . Я переключился на другого пользователя и выполнил ту же команду. Я также попытался с помощью следующей команды, как я читал здесь (не зная, что я делал между прочим): find somedir \( -type d -exec chmod u+rwx,g+rwx,o+rx {} \; -o -type f -exec chmod u+rw,g+rw,o+r {} \; \)

Оба пользователя могут получить доступ к одной и той же виртуальной машине ... Пока некоторые из них не сохранят состояние машины. Затем другой пользователь не может получить доступ из-за нехватки разрешений на чтение.

Как я могу использовать одну и ту же виртуальную машину для обоих пользователей?

2 ответа2

0

Происходит то, что файлам, созданным при сохранении состояния компьютера, предоставляются разрешения на основе текущего пользователя. Поэтому всем остальным пользователям будет запрещено использовать эти новые файлы.

Чтобы это исправить, нужно убедиться, что все пользователи находятся в одной группе, и установить дополнительные биты для папки, что приведет к тому, что все дочерние папки / файлы наследуют одинаковые разрешения.

(1) Создать группу для пользователей, чтобы поделиться:

Добавить группу, например:

sudo groupadd vboxsharing

(Обратите внимание, что группа "vboxusers" уже установлена VirtualBox. Она имеет конкретное применение, но вы можете использовать эту существующую группу вместо добавления новой.)

(2) Добавить пользователей в группу:

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

sudo usermod -a -G vboxsharing <user1>
sudo usermod -a -G vboxsharing <user2>
# ... etc.

ПРИМЕЧАНИЕ. Вы также можете установить группу как первичную для всех этих пользователей (sudo usermod -g vboxsharing <userXYZ>), что означает, что вы можете пропустить шаг № 3 ниже. Однако это является угрозой безопасности, и ее следует избегать.

(3) Новые файлы VirtualBox, доступные для группы:

Изменить владельца группы папки:

sudo chgrp -R vboxsharing /Users/shared_folder

И, при необходимости, установите биты setuid и setgid, чтобы обеспечить создание будущих файлов для группы.

Поэтому для вашей папки сделайте следующее:

sudo chmod -R 6770 /Users/shared_folder

6, в начале битов разрешения, является комбинацией setuid и setgid:

  • setuid = 4
  • setgid = 2

Технически, вам не нужно setuid. Поэтому достаточно иметь:

sudo chmod -R 2770 /Users/shared_folder

..

Замечания:
И вам не нужна эта длинная команда find , это команда для применения другого набора разрешений к файлам и другого набора к папкам.

0

Предыдущие решения не работали для меня.

Я наконец решил создать разные виртуальные жесткие диски для каждого пользователя.

Другой подход может заключаться в создании сценария, который проверяет, принадлежит ли папка текущему пользователю. Если это не так, измените разрешения перед открытием VirtualBox.

Я написал об обоих подходах здесь: https://askubuntu.com/a/820614/279148

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .