Я настроил гостевую систему VirtualBox Fedora 11 (i386) на моей хост-системе Fedora 11 (x86_64) с включенными общими папками. Я успешно смонтировал общую папку с помощью рекомендованной команды "mount -t vboxsf share /shareddir -o rw, exec, uid = 500, gid = 100". Я могу успешно читать и записывать файлы в общий ресурс из гостевой системы, но не могу установить бит выполнения для любого файла в общей папке из гостевой системы. Ничто в GoogleSpace, кажется, не решает мою проблему, не говоря уже о решении. Кстати, selinux отключен как на гостевой, так и на хостовой машине, а общая папка является файловой системой ext4.
1 ответ
0
Решение:
- Смонтируйте VBoxGuestAdditions.iso (например,
/media/cdrom0
) mkdir vbox && cd vbox && /media/cdrom0/VBoxLinuxAdditions.run --tar -xf
- Отредактируйте
module/vboxvfs/utils.c
, измените строку 96mode |= mode_set (IXUSR);
вmode |= S_IXUSR;
(обратите внимание на добавление префиксаS_
... в основном всегда устанавливайте исполняемый флаг) sudo ./install.sh vfs-module
cd .. && rm -rf vbox
Это устанавливает исполняемый флаг только в гостевой системе (режим 700) для всех общих файлов - хост все равно всегда получает режим 500 для вновь создаваемых файлов. Надеюсь, разработчик сможет исправить ситуацию. (небольшое улучшение: установите исполняемый файл при создании нового файла и синхронизируйте права доступа к файлу, чтобы неисполняемые файлы на хосте не отображались как исполняемые на гостевой)
По крайней мере, это позволяет мне делать разработку в общем каталоге.