Привет ЛОР!
Пытаюсь сделать образ бездисковой системы на основе Debian Squeeze. Предполагается, что образ будет распаковываться на произвольный linux-based сервер (от RedHat 6 до OpenSuse 11.4), директория содержащая распакованные файлы будет экспортироваться по NFS. Далее клиент стандартным образом грузится через PXE и получает в качестве корневого раздела NFS-шару. Хочется, чтобы он мог независимо от сервера принимать решения о доступе к файлам на корневом разделе. Как я понимаю, для решения проблемы есть два пути:
1. mapping uid и gid
2. использование опции no_acl для соответствующей шары в /etc/exports на сервере
Первый путь я неосилил. Для NFS версий 2 и 3 были опции map_* и специальный демон ugidd, для NFS версии 4 есть демон idmapd. ugidd из современных дистрибутивов выпилен. idmapd отсутствует в старых системах. И я не смог заставить его работать: если я говорю ядру бездисковой системы
APPEND root=/dev/nfs rootfstype=nfs4 initrd=initrd.img nfsroot=x.x.x.x:/srv/diskless_root ip=dhcp rw vga=791
mount -t nfs4 ...
Про второй путь man exports говорит, что опция no_acl работает только на специально пропатченных ядрах. Следов этого патча в интернетах почти нет. Просто добавить эту опцию в exports не помогает.
В общем выхода я пока не вижу, так что буду рад услышать советы.
P.S.
Возможно есть другая сетевая файловая система, распространенная примерно так-же как и NFS, которая лучше подходит для моей задачи?
P.P.S.
Основная проблема даже не в различии uid и gid на сторонах клиента и сервера, а в том, что содержимое /etc/group на клиенте теряет силу.