У меня керберизованная установка NFSv4 хорошо работает под Ubuntu для обычных пользователей, но я не могу заставить ее работать с root.
Для большинства систем я не хочу разрешать root-доступ, но у меня есть пара серверов, где root-доступ через NFS к этому файловому серверу является обязательным.
Я знаю, что root на данном клиенте использует идентификационные данные клиентской машины, а не обычного принципала Kerberos.
Чего я не могу понять, так это: как я могу приравнять данную идентичность машины к корневому доступу на сервере? Это кажется возможным в AIX и Solaris (с root = в экспортном файле сервера), но не в Linux.
Я понимаю, что могу разрешить «sys» аутентификацию только для тех хостов, которые в ней нуждаются, и оставить krb5 на месте для всех остальных, но я хотел бы понять, как это сделать в контексте полностью керберизованной среды.
Спасибо,
nrb
P.S. Я использую no_root_squash.
Что ж, вот решение, которое работает. Он не единственный, но, на мой взгляд, самый чистый.
Предоставьте статическое сопоставление в файле idmapd.conf сервера, которое приравнивает компьютерные учетные данные клиента к учетной записи root на сервере.
Вы также должны указать idmapd сначала проверить статические сопоставления. Соответствующий фрагмент из конфигурации моего сервера:
[Translation]
GSS-Methods = static,nsswitch
[Static]
nfs/host.domain.com@DOMAIN.COM = root
Обратите внимание, что клиент nfs будет просматривать /etc/krb5.keytab в поисках ключей (как минимум) в следующем порядке:
Он берет первый и использует его. Это имя вы должны использовать в статическом разделе файла idmapd.conf на сервере.
nrb