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

Материал из IT в школе
Перейти к навигацииПерейти к поиску
нет описания правки
Строка 1: Строка 1:




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


==Функционал системы==
==Функционал системы==
Строка 290: Строка 287:
</syntaxhighlight>
</syntaxhighlight>


===Конфигурация /etc/krb5.conf ===
===Конфигурация сервера Kerberos ===
Этот файл должен выглядеть так <syntaxhighlight lang="ini">
Запишите в файл /etc/krb5.conf следующее. <syntaxhighlight lang="ini">
includedir /etc/krb5.conf.d/
 
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
 
[libdefaults]
[libdefaults]
  default_realm = SCH179.LOCAL
  default_realm = SCH179.LOCAL
Строка 302: Строка 306:
[realms]
[realms]
  SCH179.LOCAL = {
  SCH179.LOCAL = {
   kdc = 127.0.0.1
   kdc = server.sch179.ru
   admin_server = 127.0.0.1
   admin_server = server.sch179.ru
  }
  }


Строка 309: Строка 313:
  .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>


Задайте мастер-пароль, например: `3yomdiYp`
===Конфигурация базы данных Kerberos===
 
Запишите в файл /var/kerberos/krb5kdc/kdc.conf следующий текст.<syntaxhighlight lang="ini">
===Конфигурация /var/kerberos/krb5kdc/kdc.conf===
<syntaxhighlight lang="ini">
[realms]
[realms]
  SCH179.LOCAL = {
  SCH179.LOCAL = {
Строка 332: Строка 335:
   default_principal_flags = +forwardable
   default_principal_flags = +forwardable
  }
  }
</syntaxhighlight>
</syntaxhighlight>Запишите в файл /var/kerberos/krb5kdc/kadm5.acl следующий текст.
 
===ACL файл===
Файл: /var/kerberos/krb5kdc/kadm5.acl
<syntaxhighlight>
<syntaxhighlight>
*/admin@SCH179.LOCAL *
*/admin@SCH179.LOCAL *
</syntaxhighlight>
</syntaxhighlight>


===Запуск служб===
===Включение и запуск служб===
<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==

Навигация