Назад | Перейти на главную страницу

Проблемы с разрешениями при экспорте файловой системы FUSE (mergerfs) по NFS (проблемы с разрешениями git)

У меня есть файловая система mergerfs / data, которая объединяет / data1 / data2 / data3 / data4, каждая из которых является файловой системой ext4.

Я экспортирую каталог / data / coihome (фактически каталог в / data3) через NFS в подсеть 192.168.0.0/24.

1) Я привязываю mount / data / coihome к / srv / exports / coihome (владение / srv / exports рекурсивно установлен в none: nogroup)

#REV: our mergerfs of all the /data partitions into /data                                                                                                     
/data1:/data2:/data3:/data4    /data       fuse.mergerfs  defaults,allow_other,use_ino,fsname=mergerFS   0       0

#REV: bind /data/coihome to /srv/export/coihome so we can export safely                                                                                       
/data/coihome /srv/export/coihome none bind 0 0

2) В / etc / exports я экспортирую / srv / export / coihome (обратите внимание - он привязан к / data / coihome)

/srv/export            192.168.0.0/24(rw,fsid=0,sync,no_subtree_check)
/srv/export/coihome 192.168.0.0/24(rw,fsid=1,nohide,insecure,sync,no_subtree_check)

Я также добавил опцию crossmnt в первую строку без наблюдаемых изменений поведения.

Наконец, я монтирую экспортированный каталог NFS в / mnt / coihome

#REV: mount coihome (NFS)                                                                                                                                     
coi3:/coihome   /mnt/coihome   nfs4    _netdev,auto  0  0

Теперь проблема: я могу без проблем изменять, создавать, удалять и т. Д. Файлы в / mnt / coihome. Однако команды git не работают с ошибками разрешений (недостаточными разрешениями) при изменении файлов в .git / objects и т. Д.

Я попытался изменить права собственности / разрешения, как предлагалось на нескольких форумах, например.

https://stackoverflow.com/questions/6448242/git-push-error-insufficient-permission-for-adding-an-object-to-repository-datab

Даже команда chmod -R 777 не работает.

Запуск команд от имени суперпользователя (с помощью sudoe) делает работать (конечно, no_root_squash в этой ситуации).

Если я напрямую экспортирую систему, отличную от FUSE (например, / data3 / coihome с привязкой к / srv / exports / coihome), тогда все будет работать, как ожидалось, без проблем с разрешениями. Итак, слияние FUSE вызывает некоторые проблемы, которые я не могу понять.

Будем очень признательны за любые предложения или идеи.