Я пытаюсь настроить сервер yum, на котором пакеты хранятся в общей папке Kerberised NFSv4. Как получить имя пользователя службы, под которым запускаются apache и reposync (my-yum-service-accnt), чтобы иметь возможность чтения и записи в общий ресурс NFSv4, поскольку он не может kinit, будучи учетной записью службы?
1 ответ
Служба должна получить билеты Kerberos тем или иным способом - если не пароль, то с помощью таблицы ключей.
Создайте любую учетную запись в Kerberos KDC и извлеките ее ключи в файл keytab. (Я полагаю, вы могли бы использовать для этого таблицу ключей хоста по умолчанию, но для безопасности лучше использовать отдельную).
Используйте k5start для получения билетов, используя keytab. (Для тестирования можно использовать одноразовый kinit kinit -k -t
, но для их периодического обновления необходим k5start - или, по крайней мере, cronjob.)
Наконец, установите KRB5CCNAME
в среде Apache, указывая на новый кеш билетов. (Это можно сделать, отредактировав httpd.service или эквивалентный скрипт init.d.)
Если на сервере установлен MIT Kerberos 1.11 или более поздней версии, это можно сделать более простым способом, используя функцию инициирования keytab, указав keytab по адресу /var/lib/krb5/user/<apacheuid>/client.keytab
. Это делает k5start и KRB5CCNAME ненужными.