【RedHat Linux】kerberos 服務端配置


1. 安裝軟件包
# yum install krb5-server krb5-libs krb5-workstation

2. 修改配置文件 kdc.conf , krb5.conf
# vi /var/kerberos/krb5kdc/kdc.conf  //這個不改也可以
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88

[realms]
EXAMPLE.COM = {
#master_key_type = aes256-cts // 建議不用
acl_file = /var/kerberos/krb5kdc/kadm5.acl // 關於andmin 的 access control list 的配置文件
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab // 用於校驗的keytab
supported_enctypes = aes256-cts: normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal // 支持的校驗方式, [aes256-cts: normal] 要去掉
}
-----------------------------------------------------------------------------------------------
# vi /etc/krb5.conf //用hostnamectl 修改之后此文件域名部分也會被自動修改?
# Configuration snippets may be placed in this directory as well

includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.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 // dns 查找功能
ticket_lifetime = 24h // 票證有效時間
renew_lifetime = 7d // 票證最長延期時間
forwardable = true
rdns = false
# default_realm = EXAMPLE.COM # 默認域, 必須與下面realms的名字一致, 記得去掉注釋
default_ccache_name = KEYRING:persistent:%{uid}

default_realm = EXAMPLE.COM
dns_lookup_kdc = false

[realms] // 列舉所有使用的域
# EXAMPLE.COM = {
# kdc = kerberos.example.com
# admin_server = kerberos.example.com
# }

EXAMPLE.COM = { // 神奇的是,當本機hostname被修改了之后,此處會自動被配置
kdc = classroom.example.com
admin_server = classroom.example.com
}

[domain_realm] # 動態域配置
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
.example.com = EXAMPLE.COM

-----------------------------------------------------------------------------

cat /var/kerberos/krb5kdc/kadm5.acl
*/admin@EXAMPLE.COM * // 當kadmin匹配到 admin組 的用戶都擁有所有權限, 下文可添加指定權限

 

3. 創建並初始化kerberos database
kdb5_util create -s -r EXAMPLE.COM // -s 生成stash file用於存儲kdc密匙, -r 指定realm name 可忽略
// 輸入kdc管理密碼, 別忘了哦 root

 

注意: 以下報錯可用上面指令解決, 得先執行   # rm /var/kerberos/krb5kdc/principal*     

Authenticating as principal root/admin@EXAMPLE.COM with password.

kadmin.local: Cannot find master key record in database while initializing kadmin.local interface

 

4. kerberos管理指令 

4.1 把相關主機添加到環境中

addprinc -randkey host/classroom.example.com
addprinc -randkey host/server.example.com
addprinc -randkey host/desktop.example.com

4.2 給環境添加服務

addprinc -randkey nfs/server.example.com
addprinc -randkey nfs/desktop.example.com

4.3 創建使用服務的用戶

addprinc student

==========================

名詞解釋:
principal 負責人
policy 政策
privileges 特權
attributes 特質

kadmin.local // 進入kerberos的 本地管理模式

: ? // 查看幫助命令
: addprinc caya/admin // 添加用戶名/組 caya/admin
: delprinc caya/admin // 刪除用戶名/組 caya/admin
: addprinc -randkey host/client.host.com // 增加KDC用戶端主機
: addprinc -randkey nfs/client.host.com // 可用nfs服務主機
: modprinc -maxrenewlife 1week caya/admin@EXAMPLE.COM # 修改caya 的 renewlife為7天
: listprincs // 查詢所有用戶
: cpw caya/admin // 修改用戶密碼
: exit // 退出kerberos

 

5. 配置測試遠程管理模式
systemctl start krb5kdc
systemctl enable krb5kdc
systemctl start kadmin
systemctl enable kadmin

 

6. 防火牆配置:

firewall-cmd --add-service=kerberos --zone=trusted --permanent
firewall-cmd --add-service=kadmin --zone=trusted --permanent
firewall-cmd --add-service=kpasswd --zone=trusted --permanent
firewall-cmd --reload


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM