
Я установил Kerberos на CentOS 7 с помощью команды yum.
yum install krb5-server krb5-libs krb5-workstation pam_krb5 -y
Моя ситуация выглядит следующим образом:
- Имеется 1 KDC.
- Имеет 2 сервисных сервера.
Файл KDC krb5.conf настроен следующим образом.
# Configuration snippets may be placed in this directory as well
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]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
default_realm = MYREALM.NET
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
MYREALM.NET = {
kdc = kdc.myrealm.net
admin_server = kdc.myrealm.net
}
[domain_realm]
.myrealm.net = MYREALM.NET
myrealm.net = MYREALM.NET
И я добавил принципала хоста с помощью следующей команды.
# kadmin.local -q 'addprinc -randkey host/build.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/build.keytab host/build.myrealm.net'
# scp /tmp/build.keytab build.myrealm.net:/etc/krb5.keytab
# kadmin.local -q 'addprinc -randkey host/api.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/api.keytab host/api.myrealm.net'
# scp /tmp/api.keytab api.myrealm.net:/etc/krb5.keytab
И я добавил пользователя-принципала с помощью следующей команды.
# kadmin.local -q 'addprinc eric'
После добавления указанного выше принципала пользователя два сервера служб успешно подключаются без пароля с помощью следующей команды ssh.
Кстати, я хочу управлять сервером служб, доступным пользователю-принципалу.
Мне интересно, как настроить добавленного пользователя так, чтобы он не имел доступа к определенному хосту-принципалу областей.
Подводя итог, я хотел бы получить совет о том, как сделать добавленного пользователя-принципала eric
доступным только для api.myrealm.net
некоторых серверов служб.
Я добавил принципала пользователя и принципала хоста и скопировал файл keytab принципала хоста на сервер службы.
Доступ к серверу службы в той же области осуществляется успешно без пароля.
Однако мне хочется управлять авторизацией для каждого пользователя-участника.
решение1
В качестве ответа на мой вопрос я рекомендую использовать FreeIPA. Создание политики в FreeIPA и ее применение на уровне пользователя решило мою предполагаемую проблему.