Kerberos学习(四)

  

Mac下安装配置Kerberos了解一下。


公司强迫开发人员全部使用mbp,我很不爽,因为Mac下面使用mit Kerberos简的直是灾难,申请用普通笔记本装linux也不批。


MacOSX是闭源系统,安装配置开源的东西都很麻烦。是的,港口和啤酒很方便,但是有些需要的C语言开发头文件貌似是不软链的,而且源码编译还有一堆的依赖要编译,比如Kerberos源码依赖openssl头文件,而openssl头文件也得编译安装。当然用sudo硬拷过去也行,但是你知道拷哪些吗?我是已经烦透了。


这里面有两说,如果只是单纯用kadmin, kinit,当然家酿就够了,不过我是要用Kerberos头文件来编译python的某个Kerberos库,这就讨厌了,酿造安装其实是有头文件源码的,但是没有做软链到/usr/地方/包括,所以编译的时候是找不到头文件的。只能手工软链到/usr/地方/包括

brew  install  krb5   cd /usr/地方/包括   地窖ln  -sf  . .//krb5/1.16.1/include/*,/cd /usr/地方/lib   地窖ln  -sf  . .//krb5/1.16.1/lib/*,。/

这是准备开发环境的过程


然后配置,由于没什么人在mac上做kerberos相关的开发和使用,所以怎么在mac上配置kerberos我是直接科学上的网,搜到麻省理工学院的官方文档,MIT kerberos mac配置,配置文件与Linux不同,是放置在/User//edu.mit xianglei/图书馆/偏好。Kerberos里面,搞这么复杂,其实就是人家linux的/etc/krb5.参看.

[libdefaults]   default_realm =EXAMPLE.COM   dns_lookup_kdc =false   dns_lookup_realm =false   ticket_lifetime =1296000   renew_lifetime =,, 2592000   forwardable =,真的   default_tgs_enctypes =rc4-hmac   default_tkt_enctypes =rc4-hmac   permitted_enctypes =rc4-hmac   udp_preference_limit =1   kdc_timeout =3000   (kdcdefaults)   kdc_ports =88   kdc_tcp_ports =88      (领域)   ,EXAMPLE.COM =, {   kdc 才能=192.168.130.128   admin_server 才能=192.168.130.128   # master_key_type 才能=aes256-cts   acl_file 才能=,/var/kerberos/krb5kdc/kadm5.acl   dict_file 才能=,/usr/share/dict/单词   admin_keytab 才能=,/var/kerberos/krb5kdc/kadm5.keytab   时间=supported_enctypes 才能;aes256-cts: normal  aes128-cts: normal  des3-hmac-sha1: normal  arcfour-hmac: normal  des-hmac-sha1: normal  des-cbc-md5: normal  des-cbc-crc:正常   max_renewable_life 才能,=,30 d   以前,}

这段是/User//edu.mit xianglei/图书馆/偏好。Kerberos的内容,kdc服务器和kadmin服务器的IP地址是我本机的虚机。

kinit   xianglei/admin@EXAMPLE.COM& # 39; s 密码:,   Encryption  type  arcfour-hmac-md5 (23), used  for  authentication  is  weak 以及will  be 弃用

kinit登录验证没有出现问题,报了一个废弃警告,rc4-hmac太弱鸡了,将会被废弃。


然而,mac下的kadmin登录出问题了

kadmin   kadmin: kadm5_init_with_password: init_sec_context  failed  with  851968/-1765328377

只会报这种段错误,经过科学引擎搜索(百度就别想了,中文我就没见过几篇写Kerberos的)最后结论是Mac上实现的Kerberos与MIT Kerberos的中间传输数据的协议格式不一致导致的。解决方法是这样。用kinit - s参数直接从kdc获取票,替代使用krbtgt/例子。COM的中间方式。

kinit  -S  kadmin/admin  xianglei/admin@EXAMPLE.COM   xianglei/admin@EXAMPLE.COM& # 39; s 密码:,   Encryption  type  arcfour-hmac-md5 (23), used  for  authentication  is  weak 以及will  be 弃用   kadmin   kadmin>,, ?   藏,kstash   藏   转储   dump (转储文件)   od-dump   od-dump (转储文件)   初始化   init 领域…   负载   load 文件   合并   merge 文件   ⊙用途制造添加,,,add_new_key   add 主要…   passwd, cpw, change_password   passwd 主要…   删除,德尔,del_entry   delete 主要…   del_enctype   del_enctype  principal  enctype……   add_enctype   add_enctype  principal  enctype……   ext_keytab   ext_keytab 主要…   得到,get_entry   get 主要…   重命名   rename 得到   修改   modify 主要   特权,我感到   特权   列表   list 主要…   verify-password-quality, pwq   verify-password-quality  principal 密码   检查   check (领域)   锁   lock    解锁   unlock    帮助,,?   help (命令)   退出,退出   退出

Kerberos学习(四)