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

Клиент RHEL7 NFSv4 с krb5: как сделать его неинтерактивным

У меня есть рабочая установка в корпоративной среде, где мы используем RHEL7 вместе с SSSD для аутентификации в Active Directory. Обычная проверка подлинности работает хорошо.

Мне удалось заставить сервер NFSv4 работать с клиентами NFSv4, использующими один и тот же домен вместе с Kerberos и SSSD, но только в интерактивном режиме (то есть: автоматическое создание билета SSSD во время входа в систему или вручную с помощью kinit).

Эти общие ресурсы NFS предназначены для хранения некоторого контента, который должен быть доступен для прикладных пользователей (например, httpd или tomcat).

Каков наилучший подход к такому развертыванию, чтобы сделать доступ возможным для пользователя неинтерактивным способом?

Заранее спасибо;

Подход, который я обычно использовал для этого:

  • Создайте учетную запись пользователя для службы, требующей доступа
  • Используйте kadmin, чтобы создать keytab для этой службы.
  • Используйте такой процесс, как k5start, чтобы убедиться, что keytab обновляется через определенные промежутки времени.

Для простоты управления я часто использовал этот файл модуля SystemD (или его вариант) для k5start. Настройте его как пользовательскую службу, управляемую systemd.

[Unit]
Description=Service User Kerberos Auth (Keytab)
After=dbus.service
After=network.target
After=NetworkManager.service

[Service]
Environment="KEYTAB=${HOME}/krb5.keytab"
Environment="INTERVAL=120"
Type=simple
ExecStart=/usr/bin/k5start -f ${KEYTAB} -K ${INTERVAL} -L -u ${USER}