作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.kdb5_util: Password mismatch while reading master key from keyboard
1>.错误复现
2>.错误原因分析
在初始化Kerberos数据库时需要输入密码,2次密码输入不一致就会导致该错误。
3>.解决方案
重新执行"kdb5_util -r YINZHENGJIE.COM create -s"指令,输入2次相同的密码即可。
二.kdb5_util: Required parameters in kdc.conf missing while initializing kerberos admin interface
1>.错误复现
2>.错误原因分析
一般情况下出现在配置文件(kdc.conf)中的"supported_enctypes"的某个加密类型不可用。
3>.解决方案
下面我针对"supported_enctypes"做了修改,大家可以做个对比。使用修改后的参数问题得到解决,之所以贴出来修改后的是为了提供一个参考。
修改前:
supported_enctypes = aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
修改后:
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal
三.kadmin.local: Required parameters in kdc.conf missing while initializing kadmin.local interface
1>.错误复现
2>.错误原因分析
一般情况下出现在配置文件(kdc.conf)中的"supported_enctypes"的某个加密类型不可用。
3>.解决方案
参考案例二。
四.kadmin.local: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/principal': No such file or directory while initializing kadmin.local interface
1>.错误复现
2>.错误原因分析
报错很明显提示咱们找不到DB数据库相关信息。一般情况下是我们在安装Kerberos时没有做数据库初始化操作。
3>.解决方案
注意观察KDC配置文件("kdc.conf")的"database_name"属性。当我们对Kerberos数据库做了初始化操作时,对生成对应的文件哟~
初始化Kerberos数据库的命令如下:
kdb5_util -r YINZHENGJIE.COM create -s
五.(Error): WARNING! Cannot find dictionary file /yinzhengjie/softwares/kerberos/data/dict/words, continuing without one.
1>.错误复现
2>.错误原因分析
根据日志的报错信息可判断,是因为没有对应的文件(由kdc.conf配置文件的"dict_file"标签指定路径)导致的报错信息,但这并不影响您启动程序。
3>.解决方案
解决方法很简单,创建响应的文件即可,操作案例如下所示:
[root@kdc.yinzhengjie.com ~]# mkdir -pv /yinzhengjie/softwares/kerberos/data/dict
mkdir: created directory ‘/yinzhengjie/softwares/kerberos/data/dict’
[root@kdc.yinzhengjie.com ~]#
[root@kdc.yinzhengjie.com ~]# vim /yinzhengjie/softwares/kerberos/data/dict/words
[root@kdc.yinzhengjie.com ~]#
[root@kdc.yinzhengjie.com ~]# cat /yinzhengjie/softwares/kerberos/data/dict/words
123456
[root@kdc.yinzhengjie.com ~]#
六.Couldn't open log file ${KERBEROS_HOME}/logs/kadmind.log: No such file or directory
1>.错误复现
2>.错误原因分析
一般是krb5.conf配置文件中的[logging]的"admin_server"标签对应的路径并不存在,建议写绝对路径,若写自定义的Linux变量可能不会被识别哟!
3>.解决方案
指定绝对路径即可,下面是我修改krb5.conf配置文件的过程。
修改前:
[logging]
default = FILE:${KERBEROS_HOME}/logs/krb5libs.log
kdc = FILE:${KERBEROS_HOME}/logs/krb5kdc.log
admin_server = FILE:${KERBEROS_HOME}/logs/kadmind.log
修改后:
[logging]
default = FILE:/yinzhengjie/softwares/kerberos/logs/krb5libs.log
kdc = FILE:/yinzhengjie/softwares/kerberos/logs/krb5kdc.log
admin_server = FILE:/yinzhengjie/softwares/kerberos/logs/kadmind.log
七.kdb5_util: Cannot open DB2 database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal': File exists while creating database '/yinzhengjie/softwares/kerberos/data/yinzhengjie-principal'
1>.错误复现
2>.错误原因分析
数据库已经存在啦,因此会出现上图所示的错误。
温馨提示:
Kerberos的数据库初始化一次即可,无需初始化第二次,若你的管理员密码忘记了那就得重新初始化了,但这意味之前的数据必须全部删除。生产环境中要慎重啊!
3>.解决方案
方案一:
删除已存在的数据库文件,重新执行初始化操作,这意味着之前的所有数据全部丢失!生产环境要慎重哟,尽量避免不要这样干!
方案二:
放弃重新初始化操作,因为已经存在数据库文件了,直接使用现有数据库即可,除非你不得不重新初始化操作(比如忘记了KDC管理员的密码)!
温馨提示:
初始化的数据库密码一定要记住哈,这样可以给你减少不必要的麻烦!
八.kadmind: Cannot allocate memory while initializing network, aborting
1>.错误复现
2>.错误原因分析
3>.解决方案
九.官方故障排除案例
博主推荐阅读:
https://web.mit.edu/kerberos/krb5-latest/doc/admin/troubleshoot.html