Школьный сервер LDAP + Kerberos + NFS: различия между версиями

Материал из IT в школе
Перейти к навигацииПерейти к поиску
Другая версия, часть правок может быть потеряна.
(Другая версия, часть правок может быть потеряна.)
Строка 1: Строка 1:




<big>'''Это черновик статьи, он может содержать ошибки!'''</big>
<big>'''Это черновик статьи, он может содержать ошибки!'''</big>
При установке на реальное железо нужно проверить, что SELINUX отключён. 


==Функционал системы==
==Функционал системы==
Строка 282: Строка 285:
==Настройка Kerberos==
==Настройка Kerberos==


===Установка пакетов===
=== Установка пакетов ===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
dnf install -y krb5-server krb5-libs krb5-workstation
dnf install -y krb5-server krb5-libs krb5-workstation
</syntaxhighlight>
</syntaxhighlight>


===Конфигурация сервера Kerberos ===
===Настройка главного конфига Kerberos ===
Запишите в файл /etc/krb5.conf следующее. <syntaxhighlight lang="ini">
Измените файл /etc/krb5.conf, записав в него следующий текст (нужно записать параметр default_realm и заполнить разделы [realms] и [domain_realm]<syntaxhighlight lang="ini">
includedir /etc/krb5.conf.d/
includedir /etc/krb5.conf.d/


Строка 306: Строка 309:
[realms]
[realms]
  SCH179.LOCAL = {
  SCH179.LOCAL = {
   kdc = server.sch179.ru
   kdc = server.sch179.local
   admin_server = server.sch179.ru
   admin_server = server.sch179.local
  }
  }


Строка 313: Строка 316:
  .sch179.local = SCH179.LOCAL
  .sch179.local = SCH179.LOCAL
  sch179.local = SCH179.LOCAL
  sch179.local = SCH179.LOCAL
</syntaxhighlight>
</syntaxhighlight>


===Создание базы данных===
===Создание базы данных===
Выполните команду. Нужно будет установить мастер-пароль для базы Kerberos, сохраните этот пароль.<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
kdb5_util create -s
kdb5_util create -s
</syntaxhighlight>
</syntaxhighlight>


===Конфигурация базы данных Kerberos===
Введите два раза KDC database master key (пароль администратора базы данных Kerberos), надёжно сохраните этот пароль.
Запишите в файл /var/kerberos/krb5kdc/kdc.conf следующий текст.<syntaxhighlight lang="ini">
 
===Настройка базы Kerberos===
Запишите в файл /var/kerberos/krb5kdc/kdc.conf<syntaxhighlight lang="ini">
[realms]
[realms]
  SCH179.LOCAL = {
  SCH179.LOCAL = {
Строка 335: Строка 339:
   default_principal_flags = +forwardable
   default_principal_flags = +forwardable
  }
  }
</syntaxhighlight>Запишите в файл /var/kerberos/krb5kdc/kadm5.acl следующий текст.
</syntaxhighlight>Запишите в файл /var/kerberos/krb5kdc/kadm5.acl
<syntaxhighlight>
<syntaxhighlight>
*/admin@SCH179.LOCAL *
*/admin@SCH179.LOCAL *
Строка 341: Строка 345:


===Включение и запуск служб===
===Включение и запуск служб===
Выполните команду.<syntaxhighlight lang="bash">
Выполните команды.<syntaxhighlight lang="bash">
systemctl enable --now krb5kdc
systemctl enable --now krb5kdc
systemctl enable --now kadmin
systemctl enable --now kadmin
</syntaxhighlight>
</syntaxhighlight>


===Создание принципала kadmin/admin===
===Создание принципалов===
В базе Kerberos хранятся "принципалы" (principals) - идентификаторы пользователей, сервисов, хостов.
<syntaxhighlight lang="bash">
 
kadmin.local
Утилита kdamin.local используется для управления базой Kerberos непосредственно на сервере Kerberos. Если запустить эту команду без параметров, то запустится оболочка, в которую можно вводить команды Kerberos. Например, команда "listprincs" выводит список всех принципалов. Команда "quit" завершает работу kdamin.local.
 
Другой способ использования kadmin.local - это указать команду непосредственно в виде параметров при запуске kdamin.local. Например, вывести список всех принципалов можно командой<syntaxhighlight lang="bash">
kadmin.local listprincs
</syntaxhighlight>Специальным принципалом является принципал с именем kadmin/admin. Этот принципал необходимо создать, если вы будете управлять базой Kerberos с другого компьютера. Если все команды администрирования Kerberos будут выводиться через kadmin.local, то, кажется, принципал kadmin/admin можно не создавать.
 
Для создания этого принципала запустите kadmin.local и в его консоли введите команду.<syntaxhighlight lang="bash">
addprinc kadmin/admin
addprinc kadmin/admin
 
quit
</syntaxhighlight>
</syntaxhighlight>


Задайте пароль для этого принципала. Завершите работу kadmin.local командой quit.
Однострочная команда для создания пароля для заданного пользователя.
 
=== Создание принципалов для пользователей ===
Для каждого пользователя системы, необходимо создать принципал, например, принципалы teacher1, student1.
 
Это можно сделать разными способами. Можно запустить kadmin.local и ввести команду addprinc для создания принципала каждого пользователя, например,<syntaxhighlight>
addprinc teacher1
addprinc student1
 
</syntaxhighlight>Для каждого принципала необходимо будет два раза ввести пароль.
 
Если вы создаёте много принципалов, удобно это делать не вводя пароль, сразу одной командой. Примеры таких команд:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
kadmin.local addprinc -pw qwerty456 teacher1
kadmin.local addprinc -pw xWnp7NoX dk
kadmin.local addprinc -pw qwerty789 student1
</syntaxhighlight>
 
</syntaxhighlight>Параметр -pw задаёт пароль принципала, то есть эти команды создадут принципал teacher1 с паролем qwerrty456 и принципал student1 с паролем qwerty789.


==Интеграция LDAP и Kerberos через SSSD==
==Интеграция LDAP и Kerberos через SSSD==

Навигация