Kerberos и LDAP Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 10:18]
[Настройка OpenLDAP]
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 21:05] (текущий)
[Ссылки]
Строка 18: Строка 18:
 Для начала требуется загрузить на сервер OpenLDAP необходимую схему, которая содержит поддержку соединения по сети с первичным и вторичным KDC. Кроме того эта глава подразумевает,​ что у вас настроена репликация LDAP между как минимум двумя серверами. Информацию по настройке OpenLDAP смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​openldap_server|OpenLDAP сервер]]. Для начала требуется загрузить на сервер OpenLDAP необходимую схему, которая содержит поддержку соединения по сети с первичным и вторичным KDC. Кроме того эта глава подразумевает,​ что у вас настроена репликация LDAP между как минимум двумя серверами. Информацию по настройке OpenLDAP смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​openldap_server|OpenLDAP сервер]].
  
-Также требуется настроить OpenLDAP для TLS и SSL соединений,​ чтобы передача между KDC и LDAP серверами была зашифрована. Смотрите детали в секции [[wiki/руководство_по_ubuntu_server/авторизация_по_сети/openldap_server#​tls|TLS]].+Также требуется настроить OpenLDAP для TLS и SSL соединений,​ чтобы передача между KDC и LDAP серверами была зашифрована. Смотрите детали в секции [[wiki:руководство_по_ubuntu_server:авторизация_по_сети:openldap_server#​tls|TLS]].
  
 +<​note>​cn=admin,​cn=config - пользователь,​ которого мы создали с правами редактирования базы ldap. Много раз это был RootDN. Измените его значение для соответствия вашим настройкам.</​note>​
  
-cn=admin,​cn=config ​is a user we created with rights to edit the ldap databaseMany times it is the RootDNChange its value to reflect your setup.+ 1. Для загрузки схемы в LDAP, на сервере LDAP установите пакет **krb5-kdc-ldap**. В терминале введите:​ 
 +<​code>​sudo apt-get install krb5-kdc-ldap</​code>​ 
 + 2. Далее распакуйте файл kerberos.schema.gz:​ 
 +<​code>​sudo gzip -d /​usr/​share/​doc/​krb5-kdc-ldap/​kerberos.schema.gz 
 +sudo cp /​usr/​share/​doc/​krb5-kdc-ldap/​kerberos.schema /​etc/​ldap/​schema/</​code>​ 
 + 3. Схема **kerberos** должна быть добавлена к дереву **cn=config**. Процедура добавления новой схемы к slapd детально описана в секции [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​openldap_server#​изменение_базы_данных_настройки_slap|Изменение базы данных настройки slapd]]. 
 +  ** Сначала создадим файл настроек с именем schema_convert.conf или другим значащим именем,​ содержащим следующие строки:​ 
 +<​code>​ 
 +include /​etc/​ldap/​schema/​core.schema 
 +include /​etc/​ldap/​schema/​collective.schema 
 +include /​etc/​ldap/​schema/​corba.schema 
 +include /​etc/​ldap/​schema/​cosine.schema 
 +include /​etc/​ldap/​schema/​duaconf.schema 
 +include /​etc/​ldap/​schema/​dyngroup.schema 
 +include /​etc/​ldap/​schema/​inetorgperson.schema 
 +include /​etc/​ldap/​schema/​java.schema 
 +include /​etc/​ldap/​schema/​misc.schema 
 +include /​etc/​ldap/​schema/​nis.schema 
 +include /​etc/​ldap/​schema/​openldap.schema 
 +include /​etc/​ldap/​schema/​ppolicy.schema 
 +include /​etc/​ldap/​schema/​kerberos.schema 
 +</​code>​ 
 +  ** Создадим временный каталог для хранения LDIF файлов:​ 
 +<​code>​mkdir /​tmp/​ldif_output</​code>​ 
 +  ** Теперь используем **slapcat** для конвертирования файлов схемы:​ 
 +<​code>​slapcat -f schema_convert.conf -F /​tmp/​ldif_output -n0 -s \ 
 +"​cn={12}kerberos,​cn=schema,cn=config" > /​tmp/​cn=kerberos.ldif</​code>​ 
 +Измените имена файла и каталога выше для соответствия вашим именам,​ если они отличаются. 
 +  ** Отредактируйте созданный файл /​tmp/​cn\=kerberos.ldif, изменив следующие атрибуты:​ 
 +<​code>​ 
 +dn: cn=kerberos,​cn=schema,​cn=config 
 +... 
 +cn: kerberos 
 +</​code>​ 
 +и удалите следующие строки в конце файла:​ 
 +<​code>​ 
 +structuralObjectClass:​ olcSchemaConfig 
 +entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc 
 +creatorsName:​ cn=config 
 +createTimestamp:​ 20090111203515Z 
 +entryCSN: 20090111203515.326445Z#​000000#​000#​000000 
 +modifiersName:​ cn=config 
 +modifyTimestamp:​ 20090111203515Z 
 +</​code>​ 
 +Значения атрибутов могут отличаться,​ просто убедитесь,​ что атрибуты удалены. 
 +  ** Загрузите новую схему с помощью **ldapadd**:​ 
 +<​code>​ldapadd -x -D cn=admin,​cn=config -W -f /​tmp/​cn\=kerberos.ldif</​code>​ 
 +  ** Добавьте индекс для атрибута **krb5principalname**:​ 
 +<​code>​ 
 +ldapmodify -x -D cn=admin,​cn=config -W 
 +Enter LDAP Password: 
 +dn: olcDatabase={1}hdb,​cn=config 
 +add: olcDbIndex 
 +olcDbIndex: krbPrincipalName eq,pres,sub
  
-    To load the schema into LDAPon the LDAP server install the krb5-kdc-ldap packageFrom a terminal enter:+modifying entry "​olcDatabase={1}hdb,cn=config"​ 
 +</​code>​ 
 +  ** В конце обновите списки контроля доступа (ACL): 
 +<​code>​ 
 +ldapmodify ​--D cn=admin,​cn=config -W 
 +Enter LDAP Password:  
 +dn: olcDatabase={1}hdb,​cn=config 
 +replace: olcAccess 
 +olcAccess: to attrs=userPassword,​shadowLastChange,​krbPrincipalKey by 
 +dn="​cn=admin,​dc=example,​dc=com"​ write by anonymous auth by self write by * none 
 +
 +add: olcAccess 
 +olcAccess: to dn.base=""​ by * read 
 +
 +addolcAccess 
 +olcAccess: to * by dn="​cn=admin,​dc=example,​dc=com"​ write by * read
  
-    sudo apt-get install krb5-kdc-ldap+modifying entry "​olcDatabase={1}hdb,​cn=config"​ 
 +</​code>​
  
-    Nextextract the kerberos.schema.gz file: +Ну воттеперь ваш каталог ​LDAP готов обслуживать базу данных учетных записей ​Kerberos.
- +
-    sudo gzip -d /​usr/​share/​doc/​krb5-kdc-ldap/​kerberos.schema.gz +
-    sudo cp /​usr/​share/​doc/​krb5-kdc-ldap/​kerberos.schema /​etc/​ldap/​schema/​ +
- +
-    The kerberos schema needs to be added to the cn=config tree. The procedure to add a new schema to slapd is also detailed in Modifying the slapd Configuration Database. +
- +
-        First, create a configuration file named schema_convert.conf,​ or a similar descriptive name, containing the following lines: +
- +
-        include /​etc/​ldap/​schema/​core.schema +
-        include /​etc/​ldap/​schema/​collective.schema +
-        include /​etc/​ldap/​schema/​corba.schema +
-        include /​etc/​ldap/​schema/​cosine.schema +
-        include /​etc/​ldap/​schema/​duaconf.schema +
-        include /​etc/​ldap/​schema/​dyngroup.schema +
-        include /​etc/​ldap/​schema/​inetorgperson.schema +
-        include /​etc/​ldap/​schema/​java.schema +
-        include /​etc/​ldap/​schema/​misc.schema +
-        include /​etc/​ldap/​schema/​nis.schema +
-        include /​etc/​ldap/​schema/​openldap.schema +
-        include /​etc/​ldap/​schema/​ppolicy.schema +
-        include /​etc/​ldap/​schema/​kerberos.schema +
- +
-        Create a temporary directory to hold the LDIF files: +
- +
-        mkdir /​tmp/​ldif_output +
- +
-        Now use slapcat to convert the schema files: +
- +
-        slapcat -f schema_convert.conf -F /​tmp/​ldif_output -n0 -s \ +
-        "​cn={12}kerberos,​cn=schema,​cn=config"​ > /​tmp/​cn=kerberos.ldif +
- +
-        Change the above file and path names to match your own if they are different. +
- +
-        Edit the generated /​tmp/​cn\=kerberos.ldif file, changing the following attributes:​ +
- +
-        dn: cn=kerberos,​cn=schema,​cn=config +
-        ... +
-        cn: kerberos +
- +
-        And remove the following lines from the end of the file: +
- +
-        structuralObjectClass:​ olcSchemaConfig +
-        entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc +
-        creatorsName:​ cn=config +
-        createTimestamp:​ 20090111203515Z +
-        entryCSN: 20090111203515.326445Z#​000000#​000#​000000 +
-        modifiersName:​ cn=config +
-        modifyTimestamp:​ 20090111203515Z +
- +
-        The attribute values will vary, just be sure the attributes are removed. +
- +
-        Load the new schema with ldapadd: +
- +
-        ldapadd -x -D cn=admin,​cn=config -W -f /​tmp/​cn\=kerberos.ldif +
- +
-        Add an index for the krb5principalname attribute:​ +
- +
-        ldapmodify -x -D cn=admin,​cn=config -W +
-        Enter LDAP Password: +
-        dn: olcDatabase={1}hdb,​cn=config +
-        add: olcDbIndex +
-        olcDbIndex: krbPrincipalName eq,​pres,​sub +
- +
-        modifying entry "​olcDatabase={1}hdb,​cn=config"​ +
- +
-        Finally, update the Access Control Lists (ACL): +
- +
-        ldapmodify -x -D cn=admin,​cn=config -W +
-        Enter LDAP Password:  +
-        dn: olcDatabase={1}hdb,​cn=config +
-        replace: olcAccess +
-        olcAccess: to attrs=userPassword,​shadowLastChange,​krbPrincipalKey by +
-         ​dn="​cn=admin,​dc=example,​dc=com"​ write by anonymous auth by self write by * none +
-        - +
-        add: olcAccess +
-        olcAccess: to dn.base=""​ by * read +
-        - +
-        add: olcAccess +
-        olcAccess: to * by dn="​cn=admin,​dc=example,​dc=com"​ write by * read +
- +
-        modifying entry "​olcDatabase={1}hdb,​cn=config"​ +
- +
-That's it, your LDAP directory is now ready to serve as a Kerberos ​principal database.+
  
 ====Настройка первичного KDC==== ====Настройка первичного KDC====
  
-With OpenLDAP ​configured it is time to configure the KDC.+С настроенным ​OpenLDAP ​самое время настроить ​KDC.
  
-    First, install ​the necessary packages, from a terminal enter:+ 1. Сначала установим необходимые пакетывведя из терминала:​ 
 +<​code>​sudo apt-get ​install ​krb5-kdc krb5-admin-server krb5-kdc-ldap</​code>​ 
 + 2. Теперь редактируем /​etc/​krb5.conf добавив следующие опции в соответствующие секции: 
 +<​code>​ 
 +[libdefaults] 
 +        default_realm = EXAMPLE.COM
  
-    sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap+...
  
-    Now edit /etc/krb5.conf adding the following options to under the appropriate sections:+[realms] 
 +        EXAMPLE.COM = { 
 +                kdc = kdc01.example.com 
 +                kdc = kdc02.example.com 
 +                admin_server = kdc01.example.com 
 +                admin_server = kdc02.example.com 
 +                default_domain = example.com 
 +                database_module = openldap_ldapconf 
 +        }
  
-    [libdefaults] +...
-            default_realm = EXAMPLE.COM+
  
-    ​...+[domain_realm] 
 +        ​.example.com = EXAMPLE.COM
  
-    [realms] 
-            EXAMPLE.COM = { 
-                    kdc = kdc01.example.com 
-                    kdc = kdc02.example.com 
-                    admin_server = kdc01.example.com 
-                    admin_server = kdc02.example.com 
-                    default_domain = example.com 
-                    database_module = openldap_ldapconf 
-            } 
  
-    ​...+...
  
-    ​[domain_realm+[dbdefaults
-            .example.com EXAMPLE.COM+        ​ldap_kerberos_container_dn = dc=example,dc=com
  
 +[dbmodules]
 +        openldap_ldapconf = {
 +                db_library = kldap
 +                ldap_kdc_dn = "​cn=admin,​dc=example,​dc=com"​
  
-    ...+                # this object needs to have read rights on 
 +                # the realm container, principal container and realm sub-trees 
 +                ldap_kadmind_dn = "​cn=admin,​dc=example,​dc=com"​
  
-    [dbdefaults] +                ​# this object needs to have read and write rights on 
-            ldap_kerberos_container_dn = dc=example,​dc=com +                # the realm container, principal container and realm sub-trees 
- +                ldap_service_password_file = /​etc/​krb5kdc/​service.keyfile 
-    [dbmodules] +                ldap_servers = ldaps://​ldap01.example.com ldaps://​ldap02.example.com 
-            openldap_ldapconf = { +                ldap_conns_per_server = 5 
-                    db_library = kldap +        
-                    ldap_kdc_dn = "​cn=admin,​dc=example,​dc=com"​ +</​code>​ 
- +<​note>​Замените **example.com****dc=example,​dc=com****cn=admin,​dc=example,​dc=com** и **ldap01.example.com** на соответствующие домен, LDAP объект и LDAP сервер вашей сети.</​note>​ 
-                    # this object needs to have read rights on + 3. Далее используем утилиту **kdb5_ldap_util** для создания области
-                    # the realm container, principal container and realm sub-trees +<​code>​ 
-                    ldap_kadmind_dn = "​cn=admin,​dc=example,​dc=com"​ +sudo kdb5_ldap_util -D  cn=admin,​dc=example,​dc=com create -subtrees \ 
- +dc=example,​dc=com -r EXAMPLE.COM -s -H ldap://​ldap01.example.com 
-                    ​# this object needs to have read and write rights on +</​code>​ 
-                    # the realm container, principal container and realm sub-trees + 4. Создаем тайник для пароля,​ используемого для подключения к LDAP серверуЭтот пароль используется опциями **ldap_kdc_dn** и **ldap_kadmin_dn** в /​etc/​krb5.conf:​ 
-                    ldap_service_password_file = /​etc/​krb5kdc/​service.keyfile +<​code>​ 
-                    ldap_servers = ldaps://​ldap01.example.com ldaps://​ldap02.example.com +sudo kdb5_ldap_util -D  cn=admin,​dc=example,​dc=com stashsrvpw -f \ 
-                    ldap_conns_per_server = 5 +/​etc/​krb5kdc/​service.keyfile cn=admin,​dc=example,​dc=com 
-            +</​code>​ 
- + 5. Копируем сертификат ​CA из сервера ​LDAP: 
-    ​Change ​example.com,​ dc=example,​dc=com,​ cn=admin,​dc=example,​dc=com, and ldap01.example.com ​to the appropriate domain, LDAP object, and LDAP server for your network+<​code>​ 
- +scp ldap01:/​etc/​ssl/​certs/​cacert.pem . 
-    Next, use the kdb5_ldap_util ​utility to create the realm+sudo cp cacert.pem /​etc/​ssl/​certs 
- +</​code>​ 
-    sudo kdb5_ldap_util -D  cn=admin,​dc=example,​dc=com create -subtrees \ +и редактируем ​/​etc/​ldap/​ldap.conf ​для использования этого сертификата
-    dc=example,​dc=com -r EXAMPLE.COM -s -H ldap://​ldap01.example.com +<​code>​ 
- +TLS_CACERT /​etc/​ssl/​certs/​cacert.pem 
-    ​Create a stash of the password used to bind to the LDAP serverThis password is used by the ldap_kdc_dn ​and ldap_kadmin_dn ​options in /​etc/​krb5.conf:​ +</​code>​ 
- +<​note>​Сертификат также нужно скопировать на вторичный ​KDC чтобы позволить соединению к LDAP серверам использовать ​LDAPS.</​note>​
-    sudo kdb5_ldap_util -D  cn=admin,​dc=example,​dc=com stashsrvpw -f \ +
-    /​etc/​krb5kdc/​service.keyfile cn=admin,​dc=example,​dc=com +
- +
-    Copy the CA certificate from the LDAP server+
- +
-    scp ldap01:/​etc/​ssl/​certs/​cacert.pem . +
-    sudo cp cacert.pem /​etc/​ssl/​certs +
- +
-    And edit /​etc/​ldap/​ldap.conf ​to use the certificate+
- +
-    TLS_CACERT /​etc/​ssl/​certs/​cacert.pem +
- +
-    The certificate will also need to be copied to the Secondary ​KDC, to allow the connection to the LDAP servers using LDAPS. +
- +
-You can now add Kerberos principals to the LDAP database, and they will be copied to any other LDAP servers configured for replication. To add a principal using the kadmin.local utility enter:+
  
 +Вы можете добавить учетные записи Kerberos в LDAP базу и они будут скопированы на все LDAP сервера,​ настроенные на репликацию. Для добавления учетной записи с использованием утилиты kadmin.local введите:​
 +<​code>​
 sudo kadmin.local sudo kadmin.local
 Authenticating as principal root/​admin@EXAMPLE.COM with password. Authenticating as principal root/​admin@EXAMPLE.COM with password.
Строка 196: Строка 180:
 Re-enter password for principal "​steve@EXAMPLE.COM": ​ Re-enter password for principal "​steve@EXAMPLE.COM": ​
 Principal "​steve@EXAMPLE.COM"​ created. Principal "​steve@EXAMPLE.COM"​ created.
 +</​code>​
  
-There should now be krbPrincipalName,​ krbPrincipalKey,​ krbLastPwdChange, and krbExtraData ​attributes added to the uid=steve,​ou=people,​dc=example,​dc=com ​user objectUse the kinit and klist utilities to test that the user is indeed issued a ticket.+Теперь будут добавлены атрибуты ​krbPrincipalName,​ krbPrincipalKey,​ krbLastPwdChange ​и krbExtraData ​к объекту пользователя **uid=steve,​ou=people,​dc=example,​dc=com**Используйте утилиты **kinit** и **klist** для проверки,​ что пользователю действительно выдали билет.
  
-If the user object is already created the -x dn="​..." ​option is needed to add the Kerberos ​attributesOtherwise a new principal object will be created in the realm subtree.+<​note>​Если объект пользователя уже создан,​ потребуется опция **%%dn="​..."​%%** для добавления атрибутов ​Kerberos. ​Иначе будет создан новый объект учетной записи в поддереве области.</​note>​
  
 ====Настройка вторичного KDC==== ====Настройка вторичного KDC====
  
-Configuring a Secondary ​KDC using the LDAP backend is similar to configuring one using the normal ​Kerberos ​database.+Настройка вторичного ​KDC с использованием ​LDAP похожа на настройку обычной базы ​Kerberos.
  
-    First, ​install ​the necessary packagesIn a terminal enter:+ 1. Сначала установим необходимые пакеты. Введите в терминале:​ 
 +<​code>​sudo apt-get ​install ​krb5-kdc krb5-admin-server krb5-kdc-ldap</​code>​ 
 + 2Далее редактируем /​etc/​krb5.conf для использования LDAP: 
 +<​code>​ 
 +[libdefaults] 
 +       ​default_realm = EXAMPLE.COM
  
-    sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap+...
  
-    Next, edit /etc/krb5.conf to use the LDAP backend:+[realms] 
 +        EXAMPLE.COM = { 
 +                kdc = kdc01.example.com 
 +                kdc = kdc02.example.com 
 +                admin_server = kdc01.example.com 
 +                admin_server = kdc02.example.com 
 +                default_domain = example.com 
 +                database_module = openldap_ldapconf 
 +        }
  
-    [libdefaults] +...
-            default_realm = EXAMPLE.COM+
  
-    ​...+[domain_realm] 
 +        ​.example.com = EXAMPLE.COM
  
-    [realms] +...
-            EXAMPLE.COM = { +
-                    kdc = kdc01.example.com +
-                    kdc = kdc02.example.com +
-                    admin_server = kdc01.example.com +
-                    admin_server = kdc02.example.com +
-                    default_domain = example.com +
-                    database_module = openldap_ldapconf +
-            }+
  
-    ...+[dbdefaults] 
 +        ldap_kerberos_container_dn = dc=example,​dc=com
  
-    ​[domain_realm+[dbmodules
-            .example.com EXAMPLE.COM+        ​openldap_ldapconf = { 
 +                db_library = kldap 
 +                ldap_kdc_dn = "​cn=admin,​dc=example,dc=com"
  
-    ...+                # this object needs to have read rights on 
 +                # the realm container, principal container and realm sub-trees 
 +                ldap_kadmind_dn = "​cn=admin,​dc=example,​dc=com"​
  
-    [dbdefaults] +                # this object needs to have read and write rights on 
-            ​ldap_kerberos_container_dn ​= dc=example,​dc=com+                # the realm container, principal container and realm sub-trees 
 +                ldap_service_password_file ​/​etc/​krb5kdc/​service.keyfile 
 +                ldap_servers = ldaps://​ldap01.example.com ldaps://​ldap02.example.com 
 +                ldap_conns_per_server = 5 
 +        } 
 +</​code>​ 
 + 3. Создаем тайник для пароля соединения с LDAP: 
 +<​code>​ 
 +sudo kdb5_ldap_util -D  cn=admin,dc=example,​dc=com ​stashsrvpw -f \ 
 +/​etc/​krb5kdc/​service.keyfile cn=admin,​dc=example,​dc=com 
 +</​code>​ 
 + 4. Теперь на первичном KDC копируем /​etc/​krb5kdc/​.k5.EXAMPLE.COM тайник с главным ключом на вторичный KDC. Убедитесь что копирование файла происходит через зашифрованное соединение,​ такое как scp или через физический носитель. 
 +<​code>​ 
 +sudo scp /​etc/​krb5kdc/​.k5.EXAMPLE.COM steve@kdc02.example.com:​~ 
 +sudo mv .k5.EXAMPLE.COM /​etc/​krb5kdc/​ 
 +</​code>​ 
 +<​note>​Снова замените **EXAMPLE.COM** на вашу актуальную область.</​note>​ 
 + 5. Возвращаемся на **вторичный KDC** чтобы только (пере)стартовать ldap сервер:​ 
 +<​code>​sudo service slapd restart</​code>​ 
 + 6. И в конце стартуем сервис **krb5-kdc**:​ 
 +<​code>​sudo /​etc/​init.d/​krb5-kdc start</​code>​ 
 + 7. Убедитесь,​ что два ldap сервера (и kerberos вдобавок) синхронизированы.
  
-    [dbmodules] +Теперь у вас в сети избыточные KDCи с избыточными ​LDAP серверами вы можете продолжать аутентифицировать пользователейесли один ​LDAP серверодин ​Kerberos ​сервер или один ​LDAP с одним ​Kerberos ​сервером станут недоступны.
-            openldap_ldapconf = { +
-                    db_library = kldap +
-                    ldap_kdc_dn = "​cn=admin,dc=example,​dc=com"​ +
- +
-                    # this object needs to have read rights on +
-                    # the realm container, principal container and realm sub-trees +
-                    ldap_kadmind_dn = "​cn=admin,​dc=example,​dc=com"​ +
- +
-                    # this object needs to have read and write rights on +
-                    # the realm container, principal container and realm sub-trees +
-                    ldap_service_password_file = /​etc/​krb5kdc/​service.keyfile +
-                    ldap_servers = ldaps://​ldap01.example.com ldaps://​ldap02.example.com +
-                    ldap_conns_per_server = 5 +
-            } +
- +
-    Create the stash for the LDAP bind password: +
- +
-    sudo kdb5_ldap_util -D  cn=admin,dc=example,​dc=com stashsrvpw -f \ +
-    /​etc/​krb5kdc/​service.keyfile cn=admin,​dc=example,​dc=com +
- +
-    Now, on the Primary KDC copy the /​etc/​krb5kdc/​.k5.EXAMPLE.COM Master Key stash to the Secondary KDC. Be sure to copy the file over an encrypted connection such as scp, or on physical media. +
- +
-    sudo scp /​etc/​krb5kdc/​.k5.EXAMPLE.COM steve@kdc02.example.com:​~ +
-    sudo mv .k5.EXAMPLE.COM /​etc/​krb5kdc/​ +
- +
-    Again, replace EXAMPLE.COM with your actual realm. +
- +
-    Back on the Secondary KDC, (re)start the ldap server only, +
- +
-    sudo service slapd restart +
- +
-    Finally, start the krb5-kdc daemon: +
- +
-    sudo /​etc/​init.d/​krb5-kdc start +
- +
-    Verify the two ldap servers (and kerberos by extension) are in sync. +
- +
-You now have redundant KDCs on your network, and with redundant ​LDAP servers you should be able to continue to authenticate users if one LDAP serverone Kerberos ​server, or one LDAP and one Kerberos ​server become unavailable.+
  
 ====Ссылки==== ====Ссылки====
  
-    The Kerberos Admin Guide has some additional details+  -- [[http://​web.mit.edu/​Kerberos/​krb5-1.6/​krb5-1.6.3/​doc/​krb5-admin.html#​Configuring-Kerberos-with-OpenLDAP-back_002dend|Kerberos Admin Guide]] содержит некоторые дополнительные детали
- +  -- Для дополнительной информации по **kdb5_ldap_util** смотрите [[http://​web.mit.edu/​Kerberos/​krb5-1.6/​krb5-1.6.3/​doc/​krb5-admin.html#​Global-Operations-on-the-Kerberos-LDAP-Database|главу 5.6]] и  [[http://​manpages.ubuntu.com/​manpages/​precise/​en/​man8/​kdb5_ldap_util.8.html|страницу руководства ​kdb5_ldap_util]]
-    For more information on kdb5_ldap_util ​see Section 5.6 and the kdb5_ldap_util ​man page+  -- Другой полезной ссылкой является [[http://​manpages.ubuntu.com/​manpages/​precise/​en/​man5/​krb5.conf.5.html|страница руководства krb5.conf]]
- +  -- Также смотрите [[https://​help.ubuntu.com/​community/​Kerberos#​kerberos-ldap|Kerberos ​и LDAP]] на Ubuntu wiki.
-    Another useful link is the krb5.conf ​man page+
- +
-    Also, see the Kerberos ​and LDAP Ubuntu wiki page. +
  
 ---- ----