Установка разрешения на выполнение файла общей папки Fedora 11 (хост и гость) не работает для меня. Кто-нибудь делает это успешно?

1048
pmr

Я настроил гостевую систему VirtualBox Fedora 11 (i386) на моей хост-системе Fedora 11 (x86_64) с включенными общими папками. Я успешно смонтировал общую папку с помощью рекомендованной команды "mount -t vboxsf share / shareddir -o rw, exec, uid = 500, gid = 100". Я могу успешно читать и записывать файлы в общий ресурс из гостевой системы, но не могу установить бит выполнения для любого файла в общей папке из гостевой системы. Ничто в GoogleSpace, кажется, не решает мою проблему, не говоря уже о решении. Кстати, selinux отключен как на гостевой, так и на хостовой машине, а общая папка является файловой системой ext4.

0

1 ответ на вопрос

0
3498DB

Решение:

  1. Смонтируйте VBoxGuestAdditions.iso (например /media/cdrom0)
  2. mkdir vbox && cd vbox && /media/cdrom0/VBoxLinuxAdditions.run --tar -xf
  3. Изменить module/vboxvfs/utils.c, изменить строку 96 mode |= mode_set (IXUSR);на mode |= S_IXUSR;(обратите внимание на добавление S_префикса ... в основном, всегда устанавливайте исполняемый флаг)
  4. sudo ./install.sh vfs-module
  5. cd .. && rm -rf vbox

Это устанавливает исполняемый флаг только в гостевой системе (режим 700) для всех общих файлов - хост все равно всегда получает режим 500 для вновь создаваемых файлов. Надеюсь, разработчик сможет исправить ситуацию. (небольшое улучшение: установите исполняемый файл при создании нового файла и синхронизируйте права доступа к файлу, чтобы неисполняемые файлы на хосте не отображались как исполняемые на гостевой)

По крайней мере, это позволяет мне делать разработку в общем каталоге.

Похожие вопросы