14.01.2021 16:33
OlegON
 
Нарисовалась схема:
Сервер1 (1) выкладывает файлы на Хранилку NFS (Х) от пользователя oracle.
Сервер2 (2) забирает с Х эти файлы от пользователя oracle, причем uid/gid у пользователя oracle на 1 и 2 не совпадают, а на N пользователя oracle вообще нет.

Что имеем в итоге, когда 1 кладет на Х файлы, они теряют пользователя и собственником файлов становится не пользователь, а просто некто с UID=102

При попытке чтения файлов с 2 получаем дулю с маслом, приблизительно так




Поскольку пользователь oracle на 2 ни к 101, ни к 102 не относится, то читать файлы он не может... Что делать...

Выяснилось, что это проблема мирового масштаба и код явно переписывался многократно, в результате чего понять, как все должно быть вообще нельзя.

Рассказываю, как решил: в exports на Х, именно для 2 ставим опции (ro,sync,no_subtree_check,all_squash,anonuid=102,anongid=101)
all_squash говорит все сводить к anon, а последующие две опции говорят, что всего анона сводить к 102/101 (см. скриншот выше).

В результате мы видим то, что и на скриншоте, однако, доступ к этим файлам имеем.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.