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

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


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


==Функционал системы==
==Функционал системы==
Строка 285: Строка 283:
==Настройка 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
Строка 291: Строка 289:


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


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


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


===Настройка базы Kerberos===
===Конфигурация базы данных Kerberos===
Запишите в файл /var/kerberos/krb5kdc/kdc.conf<syntaxhighlight lang="ini">
Запишите в файл /var/kerberos/krb5kdc/kdc.conf следующий текст.<syntaxhighlight lang="ini">
[realms]
[realms]
  SCH179.LOCAL = {
  SCH179.LOCAL = {
Строка 339: Строка 336:
   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 *
Строка 345: Строка 342:


===Включение и запуск служб===
===Включение и запуск служб===
Выполните команды.<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===
<syntaxhighlight lang="bash">
В базе Kerberos хранятся "принципалы" (principals) - идентификаторы пользователей, сервисов, хостов.
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 xWnp7NoX dk
kadmin.local addprinc -pw qwerty456 teacher1
</syntaxhighlight>
kadmin.local addprinc -pw qwerty789 student1
 
</syntaxhighlight>Параметр -pw задаёт пароль принципала, то есть эти команды создадут принципал teacher1 с паролем qwerrty456 и принципал student1 с паролем qwerty789.


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

Навигация