Установка разрешения на выполнение файла общей папки Fedora 11 (хост и гость) не работает для меня. Кто-нибудь делает это успешно?
Я настроил гостевую систему VirtualBox Fedora 11 (i386) на моей хост-системе Fedora 11 (x86_64) с включенными общими папками. Я успешно смонтировал общую папку с помощью рекомендованной команды "mount -t vboxsf share /shareddir -o rw,exec,uid=500,gid=100". Я могу успешно читать и записывать файлы в общем ресурсе из гостевой системы, но не могу установить бит выполнения для любого файла в общем ресурсе из гостевой системы. Ничто в GoogleSpace не решает мою проблему, не говоря уже о решении. fwiw, selinux отключен как на гостевой, так и на хостовой машине, а общая папка является файловой системой ext4.
1 ответ
Решение:
- Смонтировать 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 для вновь создаваемых файлов. Надеюсь, разработчик сможет исправить ситуацию. (небольшое улучшение: установите исполняемый файл при создании нового файла и синхронизируйте права доступа к файлу, чтобы неисполняемые файлы на хосте не отображались как исполняемые на гостевой)
По крайней мере, это позволяет мне заниматься разработкой в общем каталоге.