Я использую Ubuntu в Virtual Box, и у меня есть папка, которая является общей для хоста (Windows) и виртуальной машины (Ubuntu). Когда я открываю какой-либо файл в папке общего доступа в Ubuntu, я не могу изменить его, так как его владелец имеет права root.
Как я могу изменить право собственности на себя?
Вот вывод ls -l
:
-rwxrwxrwx 1 root root 0 2012-10-05 19:17 BuildNotes.txt
Вывод df
:
m@m-Linux:~/Desktop/vbox_shared$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29640780 10209652 17925440 37% /
none 509032 260 508772 1% /dev
none 513252 168 513084 1% /dev/shm
none 513252 88 513164 1% /var/run
none 513252 0 513252 0% /var/lock
none 513252 0 513252 0% /lib/init/rw
Ubuntu 214153212 31893804 182259408 15% /media/sf_Ubuntu
/dev/sr0 53914 53914 0 100% /media/VBOXADDITIONS_4.2.0_80737
Ubuntu 214153212 31893804 182259408 15% /home/m/Desktop/vbox_shared
Опции в VM - это автомонтирование, и readoly не проверяется.
Пробовал использовать /media/sf_Ubuntu
, но получаю ошибку разрешения:
m@m-Linux:/media$ ls -l
total 10
drwxrwx--- 1 root vboxsf 4096 2012-10-23 15:35 sf_Ubuntu
drwxrwx--- 2 root vboxsf 4096 2012-10-21 23:41 sf_vbox_shared
dr-xr-xr-x 6 m m 2048 2012-09-13 07:19 VBOXADDITIONS_4.2.0_80737
m@m-Linux:/media$ cd sf_Ubuntu/
bash: cd: sf_Ubuntu/: Permission denied
m@m-Linux:/media$ cd sf_vbox_shared/
bash: cd: sf_vbox_shared/: Permission denied
Обратите внимание, что я в группе vboxsf
:
m@m-Linux:~$ id
uid=1000(m) gid=1000(m) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(m),1001(vboxsf)
ubuntu
permissions
virtualbox
virtual-machine
user654019
источник
источник
df
и команду, которую вы использовали для ручного монтирования файловой системы.Ответы:
Обычный способ получить доступ к файлам сейчас - это позволить VirtualBox автоматически смонтировать общую папку (в результате она будет отображаться в папке
/media/sf_directory_name
), а затем добавить своего обычного пользователя Ubuntu вvboxsf
группу (как root#
).По умолчанию без ручного действия крепления выглядят так:
поэтому
vboxsf
группа имеет полный доступ. Добавив своего пользователя в эту группу, вы получите полный доступ. Таким образом, вы не будете беспокоиться об изменении их разрешений (что не имеет смысла на хосте Windows), вы просто дадите себе доступ.В данном конкретном случае это автоматически подключаемая общая папка,
и именно этот каталог следует использовать для доступа к общей папке, поместив локального пользователя в
vboxsf
группу. Если вам нужна «лучшая» ссылка в домашнем каталоге вашего пользователя, вы всегда можете создать символическую ссылку.Вам нужно будет перезагрузить виртуальную машину, чтобы эти изменения вступили в силу.
Если вы вручную монтируете общую папку, то вам нужно использовать соответствующие параметры в
mount
команде, чтобы установить папку с нужным владельцем (т. Е. Параметры gid, uid и umaskmount
). Это связано с тем, что хост-операционная система не поддерживает ту же систему разрешений, что и Linux, поэтому VirtualBox не может знать, кто должен владеть файлами.Тем не менее, я настоятельно рекомендую просто настроить общую папку для автоматического монтирования (это настройка конфигурации общей папки в самом VirtualBox).
Во избежание сомнений, я не верю, что вы в любом случае можете нормально изменять разрешения для этой файловой системы, если она монтируется обычным образом,
источник
У меня просто была такая же проблема с моей общей папкой Win-Ubuntu, и я решил добавить ее в группу vboxsf, отредактировав файл / etc / group. Надеюсь, что это работает для вас. Здесь вы можете найти краткую схему того, как я отредактировал файл
Luisa.
источник
usermod -aG <group> <user>
).У меня была та же проблема, и я решил установить последнюю версию VirtualBox Guest Additions ; в моем случае было обновление с 4.3.8 до 4.3.10.
Когда установка была завершена, в папке / media / sf_name больше не было «root» в качестве владельца группы, а «vboxsf» в качестве правильного.
источник
Вы пробовали sudo?
источник
vboxfs
файловой системой типа, она не соответствуетchown
.Если у вас есть возможность управлять параметрами команды mount (например, при монтировании вручную или с помощью
/etc/fstab
), вы можете использовать эту-o uid=771
опцию для команды mount.Запись в
/etc/fstab
будет выглядеть какисточник
Включить полный доступ для чтения и записи в общую папку на хосте Windows от гостя Ubuntu для пользователя без полномочий root
Этот шаг позволит вам получить доступ к определенной директории на вашем хост-компьютере Windows из гостевого терминала Linux. В этом примере имя общего ресурса с точки зрения OVB будет vshare (по умолчанию), полный путь к каталогу ОС Windows (хост-ОС) будет «C: \ var \», а полный путь к файлу - доступ к нему из гостевой виртуальной машины будет "/ vagrant", и, наконец, имя пользователя, который разрешит полный доступ к записи / записи, будет "вы".
1. Установите гостевые дополнения
Установите предварительные условия для гостевых дополнений, введя следующую команду:
2. Установите гостевые дополнения
Не используйте для загрузки файл .iso и установщик оттуда - он просто не будет работать !!!
3. Измените ваш каталог dir для автоматического монтирования при загрузке виртуальной машины.
Измените ваш каталог dir для автоматического монтирования при загрузке vm, добавив следующие строки в конец файла fstab (обратите внимание на conf «vshare» и uid = 10001):
4. добавить себя в группу vboxsf
Вы должны добавить себя в группу vboxsf, чтобы иметь возможность редактировать как не-root из вашего vm файлы на вашем хост-компьютере. # mount sudo mount -a
5. перезагрузите компьютер и проверьте
Перезагрузите виртуальную машину и войдите через ssh, чтобы проверить совместное использование файлов. # ssh к vm ssh you @ host-name
источник
Дополнения виртуальной коробки должны быть установлены снова после обновления вашей гостевой системы. Проблема, я думаю, в том, что когда вы обновляете некоторые компоненты в Ubuntu, некоторые компоненты меняются, после установки vb-дополнений будет доступно sf_forlder_name. Моя проблема решена таким способом. Решение Пису работает.
источник
root
chown
иchmod
источник