Установка разрешения на выполнение файла общей папки 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 ответ

Решение

Решение:

  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 для вновь создаваемых файлов. Надеюсь, разработчик сможет исправить ситуацию. (небольшое улучшение: установите исполняемый файл при создании нового файла и синхронизируйте права доступа к файлу, чтобы неисполняемые файлы на хосте не отображались как исполняемые на гостевой)

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

Другие вопросы по тегам