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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 09:47]
[Kerberos и LDAP]
wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos_and_ldap [2012/06/14 21:05] (текущий)
[Ссылки]
Строка 16: Строка 16:
 ====Настройка OpenLDAP==== ====Настройка OpenLDAP====
  
-First, the necessary schema needs to be loaded on an OpenLDAP ​server that has network connectivity to the Primary and Secondary KDCsThe rest of this section assumes that you also have LDAP replication configured between at least two serversFor information on setting up OpenLDAP ​see OpenLDAP ​Server.+Для начала требуется загрузить на сервер ​OpenLDAP ​необходимую схему, которая содержит поддержку соединения по сети с первичным и вторичным KDCКроме того эта глава подразумевает,​ что у вас настроена репликация ​LDAP между как минимум двумя серверамиИнформацию по настройке ​OpenLDAP ​смотрите в разделе [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​openldap_server|OpenLDAP ​сервер]].
  
-It is also required to configure ​OpenLDAP ​for TLS and SSL connectionsso that traffic between the KDC and LDAP server is encryptedSee TLS for details.+Также требуется настроить ​OpenLDAP ​для ​TLS и SSL соединенийчтобы передача между ​KDC и LDAP серверами была зашифрованаСмотрите детали в секции [[wiki:​руководство_по_ubuntu_server:​авторизация_по_сети:​openldap_server#​tls|TLS]].
  
-cn=admin,​cn=config ​is a user we created with rights to edit the ldap databaseMany times it is the RootDN. ​Change its value to reflect your setup.+<​note>​cn=admin,​cn=config ​- пользователь,​ которого мы создали с правами редактирования базы ​ldap. Много раз это был ​RootDN. ​Измените его значение для соответствия вашим настройкам.</​note>​
  
-    To load the schema into LDAP, on the LDAP server ​install ​the krb5-kdc-ldap ​packageFrom a terminal enter:+ 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
  
-    sudo apt-get install krb5-kdc-ldap+modifying entry "​olcDatabase={1}hdb,​cn=config"​ 
 +</​code>​ 
 +  ** В конце обновите списки контроля доступа (ACL): 
 +<​code>​ 
 +ldapmodify ​--D cn=admin,​cn=config ​-
 +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
  
-    Nextextract the kerberos.schema.gz file:+modifying entry "​olcDatabase={1}hdb,cn=config"​ 
 +</​code>​
  
-    sudo gzip -d /​usr/​share/​doc/​krb5-kdc-ldap/​kerberos.schema.gz +Ну воттеперь ваш каталог ​LDAP готов обслуживать базу данных учетных записей ​Kerberos.
-    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. +
- +
-        Firstcreate 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.
Строка 195: Строка 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. +
  
 ---- ----