lissyara писал(а):вотп ро это - не могли бы объяснить - откуда это выколупали и зачем в статье?Самое первое установим heimdal-1.0.1 для того что бы можно
было проводить аутентификацию основанную на Kerberos 5.
Могу немного пояснить, хотя помоему постоянные посетители форума и так это знают.
=======
Раньше, США запрещало экспортировать всякие криптостойкие технологии. Поэтому в дистрибутиве FreeBSD и прочих был обрезанный керберос.
В частности, поэтому аутентификация доменная не работала - там криптостойкость повыше должна была быть (как M$ продавал дистры с такой криптостойкостью - другой вопрос )
Быренько за пределами США организовалась команда товарисчей, котоыре и настругали неймдал - с целью иметь полноценное шифрование.
Потом, эти ограничения сняли. И тепеь в дистрибутиве есть нормальный керберос, и неймдал ставить НЕ НАДО.
Что я и делаю всю шестую ветку и далее.
Чего и вам рекомендую.
Хватит уже таскать за собой кусок какого-то древнего мануала, из времён когда это действительно надо было.
ок, Лис, тогда такой вопрос. У меня домен на самбе с хранением всех данных в OpenLDAP. Мне нужно скрестить керберос с OpenLDAP. ТО есть я хочу, чтобы авторизация шла через керберос. Что я пытался сделать.. установил из портов heimdal (он там сцуко древний), на сайте официальном уже давно лежит 1.3.1, собрал его с поддержкой LDAP.
настроил конфиг:
Код: Выделить всё
[f0s@mail] /var/log/openldap/> cat /etc/krb5.conf
[kdc]
database = {
realm = ARTPAINT
dbname = ldap:ou=users,dc=artpaint,dc=spb,dc=ru
hdb-ldap-structural-object = inetOrgPerson
mkey_file = /var/heimdal/m-key
log_file = /var/log/heimdal/heimdal.log
acl_file = /var/log/heimdal/kadmind.acl
}
addresses = 127.0.0.1 192.168.10.8
[libdefaults]
default_realm = ARTPAINT
clockskew = 300
dns_lookup_kdc = 1
[realms]
ARTPAINT = {
kdc = mail.artpaint
admin_server = mail.artpaint
kpasswd_server = mail.artpaint
default_domain = artpaint
}
[domain_realm]
.artpaint = ARTPAINT
artpaint = ARTPAINT
[logging]
default = SYSLOG:NOTICE:DAEMON
kdc = FILE:/var/log/kdc.log
kadmind = FILE:/var/log/kadmind.log
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
}
Код: Выделить всё
access to *
by sockurl="^ldapi:///$" write
by self write
by * read
но не понимаю, как мне прикрутитьего к уже существующим учеткам?
пробовал добавить вручную атрибуты:
Код: Выделить всё
dn: uid=guest,ou=users,dc=artpaint,dc=spb,dc=ru
objectClass: posixAccount
objectClass: top
objectClass: inetOrgPerson
objectClass: sambaSamAccount
objectClass: dbmailUser
objectClass: userSecurityInformation
objectClass: krb5Principal
objectClass: krb5KDCEntry
gidNumber: 36385
givenName: Domain
sn: Guest
displayName: Domain Guest
uid: guest
sambaKickoffTime: 2147483647
sambaPwdCanChange: 2147483647
sambaPwdMustChange: 2147483647
sambaAcctFlags: [XU]
uidNumber: 44012
sambaSID: S-1-5-21-1143629007-3883614378-2078852349-89024
sambaDomainName: ARTPAINT
sambaPrimaryGroupSID: S-1-5-21-1143629007-3883614378-2078852349-513
cn: guest
gecos: guest
accountStatus: active
mailHost: mail.artpaint
mail: test2@artpaint.spb.ru
loginShell: /usr/sbin/nologin
homeDirectory: /nonexistent
structuralObjectClass: inetOrgPerson
entryUUID: 6c809926-1502-102d-9ab5-3f1ceec48fcb
creatorsName: cn=root,dc=artpaint,dc=spb,dc=ru
createTimestamp: 20080912103638Z
sambaNTPassword: 3434F8259597FA666F3FDDE60E61671D
sambaLMPassword: 186E1F266628579FC81667E3D731C5D9
sambaPwdLastSet: 1245156043
userPassword:: e1NIQX0sSElkbXppSXRvTG1vRC82VHVXUHBhT3z5czg9
krb5PrincipalName: GUEST@ARTPAINT
krb5KeyVersionNumber: 1
krb5KDCFlags: 126
entryCSN: 20091125121820Z#000000#00#000000
modifiersName: cn=root,dc=artpaint,dc=spb,dc=ru
modifyTimestamp: 20091125121820Z
Код: Выделить всё
теперь пытаюсь сделать:
[f0s@mail] /var/db/pkg/heimdal-1.0.1_1/> kinit guest
guest@ARTPAINT's Password:
kinit: krb5_get_init_creds: Client (guest@ARTPAINT) unknown
Код: Выделить всё
2009-11-26T11:16:07 AS-REQ guest@ARTPAINT from IPv4:192.168.10.8 for
krbtgt/ARTPAINT@ARTPAINT
2009-11-26T11:16:07 Failed to open database: Wrong database version
2009-11-26T11:16:07 UNKNOWN -- guest@ARTPAINT: No such entry in the
database
2009-11-26T11:16:07 sending 120 bytes to IPv4:192.168.10.8
попадает:
Код: Выделить всё
[f0s@mail] /var/log/openldap/> kadmin -l
kadmin> add sysadmin/admin
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
sysadmin/admin@ARTPAINT's Password:
Verifying - sysadmin/admin@ARTPAINT's Password:
kadmin: kadm5_create_principal: dbopen
(ldap:ou=users,dc=artpaint,dc=spb,dc=ru): No such file or directory
kadmin: adding sysadmin/admin: No such file or directory
kadmin> exit
сокет с данной библиотекой находистя тута:
Код: Выделить всё
[f0s@mail] /usr/local/etc/openldap/> strings /usr/local/lib/libldap-2.3.so.2 | grep ldapi
ldap_is_ldapi_url
ldapi://
/var/run/openldap/ldapi
Код: Выделить всё
[f0s@mail] /usr/local/etc/openldap/> ll /var/run/ | grep openl
drwxrwxrwx 2 ldap ldap 512 25 ноя 14:53 openldap
Код: Выделить всё
[f0s@mail] /usr/local/etc/openldap/> ll /var/run/openldap/ | grep ldapi
srw-rw-rw- 1 ldap ldap 0 25 ноя 14:53 ldapi
Код: Выделить всё
[f0s@mail] //> sockstat | grep ldapi
ldap slapd 96161 6 stream /var/run/openldap/ldapi
Код: Выделить всё
[f0s@mail] /home/f0s/> cd /usr/ports/security/krb5-17/
[f0s@mail] /usr/ports/security/krb5-17/> make config
[ ] KRB5_RENAME_FTP Rename ftp to kftp
[ ] KRB5_RENAME_TELNET Rename telnet to ktelnet
[ ] KRB5_RENAME_RLOGIN Rename rlogin to krlogin
[ ] KRB5_RENAME_RSH Rename rsh to krsh
[ ] KRB5_RENAME_RCP Rename rcp to krcp
[ ] KRB5_KRB4_COMPAT Build and install krb4 compatibility
[X] KRB5_DOC Build and install krb5 documentation
[ ] WANT_HTML Want HTML documentation too
но тут мы как видим нет в списке поддержки лдапа! вообщем не знаю как быть с тем, чтобы связать керберос с лдапом
установил этот krb5-17:
Код: Выделить всё
[f0s@mail] /etc/> pkg_info | grep krb
krb5-1.7 An authentication system developed at MIT, successor to Ker
Код: Выделить всё
[f0s@mail] /etc/> /etc/rc.d/kerberos status
kerberos5 is not running.
запускаем:
Код: Выделить всё
[f0s@mail] /etc/> /etc/rc.d/kerberos start
Starting kerberos5.
не запустился:
Код: Выделить всё
[f0s@mail] /var/log/> /etc/rc.d/kerberos status
kerberos5 is not running.
Код: Выделить всё
[f0s@mail] /etc/> kadmin -l
kadmin> add guest
Max ticket life [unlimited]:
Max renewable life [unlimited]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
guest@ARTPAINT's Password:
Verifying - guest@ARTPAINT's Password:
kadmin: kadm5_create_principal: dbopen (ldap:ou=users,dc=artpaint,dc=spb,dc=ru): No such file or directory
kadmin: adding guest: No such file or directory
kadmin> exit
при этом в логах:
Код: Выделить всё
2009-12-02T15:40:27 bind IPv4:127.0.0.1/88: /var/heimdal/kdc.conf:0: cannot open file
2009-12-02T15:40:27 bind IPv4:192.168.10.8/88: Address already in use
2009-12-02T15:40:27 bind IPv4:127.0.0.1/88: Address already in use
2009-12-02T15:40:27 bind IPv4:192.168.10.8/88: Address already in use
2009-12-02T15:40:27 No sockets!
Код: Выделить всё
[f0s@mail] /var/log/> pkg_info | grep heimdal
[f0s@mail] /var/log/>
ЗЫ, сейчас удалил krb5-17, и в kadmin Все равно пускает.. значит в 6-версию фряхи керберос встроен... получается так.. как бы мне его пересобрать в с поддержкой лдапа?