设为首页 收藏本站
查看: 955|回复: 1

[经验分享] LDAP+keberos

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-7-31 09:43:00 | 显示全部楼层 |阅读模式
LDAP+Kerberos部署及应用
                                                        <Alvin-zeng:孤独0-1>
目录
一、配置环境1
1.1、主服务器1
1.2、验证客户端1
二、LDAP安装部署/2321
2.1、安装包1
2.2、修改LDAP配置文件1
2.3、OpenLDAP主配置文件及密码2
2.4、启动服务及调试2
2.5、测试并、查看监听端口2
2.6、安装ldapphpadmin 管理工具2
2.7、LDAP日志创建及分割2
三、LDAP数据添加/2324
3.1、添加”主域名”树根zeng.com4
3.2、添加二级OU组织4
3.3、添加用户组5
3.4、批量添加用户5
3.5、配置LDAP客户端验证2316
四、Kerberos 部署/2326
4.1、安装Kerberos包6
4.2、修改配置krb5.conf7
4.3、修改配置kdc.conf7
4.4、修改配置 kadm5.acl7
4.5、创建realm8
4.6、启动krb5kdc和kadmin两个服务8
4.7、创建Krb-admin管理用户8
4.8、将ldap服务加入Krb-域8
4.9、将客户端加入Krb-域8
5.0、创建登陆用户,8
五、终极验证LDAP+keberos相结合/2318
5.1、配置LDAP-Keberos客户端8
5.2、使用ssh登陆验证9

一、 配置环境
1.1、主服务器
LDAP域:zeng.com—>管理用户
Krbs 域:zeng.com—>管理密码
LDAP+Krbs安装在同一台机器上,同一个域下面
IP:192.168.8.232 主机名:test-3-232.zeng.com
1.2、验证客户端
IP:192.168.8.231 主机名:test-2-231.zeng.com

二、LDAP安装部署/232
2.1、安装包
#yum -y install php-ldap openldap openldap-clients openldap-servers httpd php-*
2.2、修改LDAP配置文件
#vim /etc/openldap/slapd.conf
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema
#Centos 6.0需要把/etc/openldap/slapd.d/ 移动在别的目录下面。否则加载不了源配置文件
#:mv /etc/openldap/slapd.d/ /
#: cp /etc/openldap/slapd.conf.bak slapd.conf

2.3、OpenLDAP主配置文件及密码
# slappasswd
{SSHA}e+Oc+yz/BW29boQbWRmpvM2mjYi8u3Jd
# vim /etc/openldap/slapd.conf
5: database bdb
6: suffix "dc=example,dc=com"
7: rootdn "cn=root,dc=example,dc=com"
8: rootpw  {SSHA}e+Oc+yz/BW29boQbWRmpvM2mjYi8u3Jd

2.4、启动服务及调试
#:centos 5.5
#/etc/init.d/ldap start
#:centos 6.0
#/etc/init.d/slapdrestart
centos5.5并有一个提示信息错误,提示没有DB_CONFIG
#:cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
Centos6.0并有一个提示信息错误,提示没有DB_CONFIG
#: cp -p /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
2.5、测试并、查看监听端口
# netstat -tnlp | grep 389
# ldapsearch -x -b '' -s base '(objectclass=*)'
注意:-b 后面是两个单引号,用来阻止特殊字符被Shell 解析。

2.6、安装ldapphpadmin 管理工具
# unzip phpldapadmin-1.2.0.5.zip
# mv phpldapadmin-1.2.0.5 /var/www/html/phpadmin
#cp /test/phpadmin/config.php.example /var/www/html/phpldapadmin/config/config.php
#:vim /var/www/html/phpadmin/config/config.php
找到$servers->setValue('server','name','My LDAP Server');
将下面的子属性注释掉
$servers->setValue('server','host','localhost');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=zeng,dc=com'));
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=root,dc=zeng,dc=com');
$servers->setValue('login','bind_pass','secret');
# /etc/init.d/httpd start

2.7、LDAP日志创建及分割
Centos 5.5
#:vim /etc/syslog.conf
#:/etc/init.d/syslog restart && chkconfig syslog on
Centos 6.0
#:vim /etc/rsyslog.conf
#:/etc/init.d/rsyslog restart  && chkconfig rsyslog on
# save OpenLDAP log
local4.*                                                /var/log/ldap.log
#:touch /var/log/ldap.log
#:vim /etc/openldap/slapd.conf
Loglevel     256
切割脚本:
#:定义全局变量
#:提取当前路径
PWDDIR=`pwd`

#:原始日志文件存放位置
DIRLOG="/var/log/ldap.log"
#:切割日志备份路径
BACKLOG="/opt/ldaplog"
#:提取月
MONTH=`date | awk '{print $2}'`
#:提取日
DATE=`date | awk '{print $3}'`
#:Ldap_log-->切割涵数
Ldap_log(){
#:判断原始LOG文件是否存在。不存在则退出
if [ -f $DIRLOG ]
then
mkdir -p $BACKLOG
else
echo "not log file.."
return 1
fi
#:开始切割,切割完成之后,就清空原始日志.
cp $DIRLOG $BACKLOG/$MONTH-$DATE-ldap.log
if [ $? -eq 0 ]
then
echo "" > $DIRLOG
else
echo "切割失败...."
return 1
fi
}
#:Ldap_rm-->每周一删除前7天的日志
Ldap_rm(){
#:统计切割数量,一周删除一次,
LOGFIEL=`ls $BACKLOG | grep "log" | wc -l`
if [ $LOGFIEL -gt 7 ] || [ $LOGFIEL -eq 7 ]
then
ls $BACKLOG | grep "log" | while read test
do
rm $BACKLOG/$test
done
fi
}
#:Main-->主函数入口
main(){
#:先删除前7天的日志,
Ldap_rm
if [ $? -eq 1 ]
then
exit 1
fi
#:开始切割备份
Ldap_log
if [ $? -eq 1 ]
then
exit 1
fi
}
#:执行主函数
Mail;
三、LDAP数据添加/232
3.1、添加”主域名”树根zeng.com
# vim 1.ldif
dn: dc=zeng,dc=com
objectclass: dcobject
objectclass: organizationalUnit
dc: zeng
ou: zeng
#ldapadd –v –c –x –D “cn=root,dc=zeng,dc=com”–w 123 –f 1.ldif
3.2、添加二级OU组织
# vim 2.ldif
dn: ou=group,dc=zeng,dc=com
objectclass: organizationalUnit
ou: group
3.3、添加用户组
# mkdir /tmp/test && cd /tmp/test
# groupadd user && cat /etc/group > usergroup.in
# cd /usr/share/openldap/migration/
#./migrate_group.pl /tmp/test/usergroup.in > /tmp/test/usergroup.ldif
#vim /tmp/test/usergroup.ldif
dn: cn=user,ou=group,dc=zeng,dc=com
objectClass: posixGroup
objectClass: top
cn: user
userPassword: {crypt}x
gidNumber: 500
# ldapadd –v –c –x –D “cn=root,dc=zeng,dc=com”–w 123 –f /tmp/test/usergroup.ldif
adding new entry "cn=user,ou=group,dc=zeng,dc=com"
modify complete
GID:500       和下面的用户GID一样
3.4、批量添加用户
# vim /tmp/test/list.user
user01
user02
user03
user04
user05
user06
#for zeng in `awk '{print $1}' /tmp/test/list.usr`; do useradd $zeng done;
# cat /etc/passwd > /tmp/test/list.in
#vim /tmp/test/list.in
user01:x:500:500::/home/user01:/bin/bash    ##GID改成500,加入上面的user组
user02:x:501:500::/home/user02:/bin/bash
user03:x:502:500::/home/user03:/bin/bash
user04:x:503:500::/home/user04:/bin/bash
user05:x:504:500::/home/user05:/bin/bash
user06:x:505:500::/home/user06:/bin/bash
user07:x:506:500::/home/user07:/bin/bash
#./migrate_passwd.pl /tmp/test/list.in > /tmp/test/list.ldif
#cat /tmp/test/list.ldif
dn: uid=user01,ou=group,dc=zeng,dc=com   ##指定正确的OU和/域
uid: user01
cn: user01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$1$Za0PIA24$5uY5GiiZ4LDhYABNgmcj1/
shadowLastChange: 15075
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 500
gidNumber: 501
homeDirectory: /home/user01
#ldapadd -v -x -c -D "cn=root,dc=example,dc=com" -w 123 -f /tmp/test/list.ldif
ldap_initialize( <DEFAULT> )
add uid:
user01
add cn:
user01
adding new entry "uid=user01,ou=group,dc=example,dc=com"
modify complete

3.5、配置LDAP客户端验证231
# authconfig-tui
[*]Use LDAP
[*]Use LDAP Authentication

# vim /etc/pam.d/system-auth
session     required      pam_mkhomedir.so skel=/etc/skel umask=0022
# su user01
在客户端用ldap 用户登陆
四、Kerberos 部署/232
4.1、安装Kerberos包
#yum –y install cyrus-*
#yum -y install krb5-*
4.2、修改配置krb5.conf
#vim /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = ZENG.COM
ticket_lifetime = 24h
forwardable = yes
[realms]
ZENG.COM = {
kdc = 192.168.8.230:88
admin_server = 192.168.8.230:749
default_domain = zeng.com
}
[domain_realm]
.zeng.com = ZENG.COM
zeng.com = ZENG.COM
[appdefaults]
pam = {
  debug = false
  ticket_lifetime = 36000
  renew_lifetime = 36000
  forwardable = true
  krb4_convert = false
}
4.3、修改配置kdc.conf
#vim /var/kerberos/krb5kdc/kdc.conf
v4_mode = nopreauth
kdc_tcp_ports = 88
[realms]
ZENG.COM = {
#master_key_type = des3-hmac-sha1
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal des-cbc-crc:v4 des-cbc-crc:afs3
}
4.4、修改配置 kadm5.acl
# vim /var/kerberos/krb5kdc/kadm5.acl
*/admin@ ZENG.COM
4.5、创建realm
#kdb5_util create –r TEST-2.EXAMPLE –s
#kdb5_util create –s还可以这样写
kerbers数据库文件都放在/var/kerberos/krb5kdc/下面
4.6、启动krb5kdc和kadmin两个服务
# /etc/init.d/krb5kdc start
#/etc/init.d/kadmin start
4.7、创建Krb-admin管理用户
# kadmin.local
kadmin.local:  addprinc admin/ZENG.COM
4.8、将ldap服务加入Krb-域
#kadmin.local
kadmin.local: addprinc -randkey ldap/test-3-232.zeng.com@ZENG.COM
4.9、将客户端加入Krb-域
# kadmin.local
kadmin.local:addprinc–randkeyhost/test-2-231.zeng.com@ZENG.COM
5.0、创建登陆用户,
kerberos 和ldap必须帐号一样,提示输入密码,
# kadmin.local
kadmin.local: addprinc user01
5.1、配置LDAP-Keberos客户端
#: authconfig-tui
[*]Use LDAP [*]Use LDAP Authentication
           [*]Use Kerberos
              NEXT
===============================================
Server:ldap://192.168.8.232/
Base DN: dc=zeng,dc=com
               NEXT
===============================================
Realm:ZENG.COM
KDC: 192.168.8.232:88
Admin Server: 192.168.8.232:749

5.2、使用ssh登陆验证
验证说明一:
在231使用user01等登陆,当ldap用户也有密码,Kerberos 也有密码,
系统会以kerberos的密码为准,正常ldap用户不需要创建密码,
这样实现了,LDAP管理用户,Kerberos 管理密码,

验证说明二:
在keberos 上把user01 的密码重改一次,在231客户端登陆的时候,试一下,用以前的旧密码是否可以登陆?
当在ldap上把user01删除掉。保留kerberos 里面的user01,在231上面试一下,是否可以登陆?


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-7923-1-1.html 上篇帖子: Lsync+Rsync实时同步 下篇帖子: LDAP+SAMBA(SAMBA安装篇-实现PDC)

尚未签到

发表于 2013-11-7 12:33:28 | 显示全部楼层
站的更高,尿的更远。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表