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

Доступ с правами root к керберизованному хосту NFSv4 в Ubuntu

У меня керберизованная установка 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 в поисках ключей (как минимум) в следующем порядке:

  • root/host.domain.com@DOMAIN.COM
  • nfs/host.domain.com@DOMAIN.COM
  • host/host.domain.com@DOMAIN.COM

Он берет первый и использует его. Это имя вы должны использовать в статическом разделе файла idmapd.conf на сервере.

nrb