Chinaunix首页 | 论坛 | 博客
  • 博客访问: 499860
  • 博文数量: 58
  • 博客积分: 6012
  • 博客等级: 准将
  • 技术积分: 1211
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-09 22:50
文章分类

全部博文(58)

文章存档

2010年(25)

2009年(23)

2008年(10)

我的朋友

分类:

2010-02-26 19:11:40

SuSE Linux单点登陆(SSO)的实现(三)

5.1.4
配置区中的linux机器
  每一台加入区的服务器都要安装和配置下列客户端:ldap、kerberos、ssh、autofs、日志、ntp。软件包:
openldap2-client-2.2.24-4.12
pam_ldap-169-28.4
ldapcpplib-0.0.3-21.3
nss_ldap-215-59.5
yast2-ldap-client-2.9.29-0.4
heimdal-tools-0.6.1rc3-55.9
heimdal-lib-0.6.1rc3-55.15
autofs-3.1.7-900.1
xntp-4.2.0a-23.8
yast2-ntp-client-2.9.15-0.2

1).
配置ldap客户端(yast ldap --> Alt+U --> LDAP base DN:dc=MOODISK,dc=com, Addresses of LDAP Servers: ldapserver.MOODISK.com ldapslave.MOODISK.com):

# vim /etc/nsswitch.conf
passwd: compat
group:  compat

hosts:  files dns
networks:       files dns

services:       files
protocols:      files
rpc:    files
ethers: files
netmasks:       files
netgroup:       files
publickey:      files

bootparams:     files
automount:      files nis
aliases:        files
passwd_compat:  ldap
group_compat:   ldap

# vim /etc/sysconfig/ldap
……
BASE_CONFIG_DN="ou=ldapconfig,dc=MOODISK,dc=com"
……
BIND_DN="cn=Administrator,dc=MOODISK,dc=com"
……

# vim /etc/security/pam_unix2.conf
auth:   use_ldap
account:        use_ldap
password:       use_ldap
session:        none

# vim /etc/ldap
host    ldapserver.MOODISK.com ldapslave.MOODISK.com
base    dc=MOODISK,dc=com
ldap_version    3
pam_password    crypt
ssl     start_tls
nss_map_attribute       uniqueMember member
pam_filter      objectclass=posixAccount
nss_base_passwd dc=MOODISK,dc=com
nss_base_shadow dc=MOODISK,dc=com
nss_base_group  dc=MOODISK,dc=com

2).
配置kerberos客户端(yast kerberos --> Alt+U --> Default domain:MOODISK.com,default realm:MOODISK.COM, KDC Server Address:krb5server.MOODISK.com):

# vim /etc/krb5.conf
[libdefaults]
        clockskew = 300
        default_realm = MOODISK.COM

[realms]
MOODISK.COM = {
        kdc = krb5server.MOODISK.com
        default_domain = MOODISK.com
        admin_server = krb5server.MOODISK.com
        kpasswd_server = krb5server.MOODISK.com
}

[domain_realm]
        .MOODISK.com = MOODISK.COM

[logging]
        default = SYSLOG:NOTICE:DAEMON
        kdc = FILE:/var/log/kdc.log
        kadmind = FILE:/var/log/kadmind.log

[appdefaults]
pam = {
        ticket_lifetime = 1d
        renew_lifetime = 1d
        forwardable = true
        proxiable = false
        retain_after_close = false
        minimum_uid = 0
        debug = false
}

# vim /etc/security/pam_unix2.conf (其实就是在原来的基础上加上use_krb5)
auth:   use_krb5 use_ldap
account:        use_krb5 use_ldap
password:       use_krb5 use_ldap
session:        none

把kerberos主机上的文件/etc/krb5.keytab 和/etc/srvtab拷贝到本地

3).配置autofs:
# vim /etc/nsswitch.conf(在automount行的末尾增加ldap)
passwd: compat
group:  compat

hosts:  files dns
networks:       files dns

services:       files
protocols:      files
rpc:    files
ethers: files
netmasks:       files
netgroup:       files
publickey:      files

bootparams:     files
automount:      ldap files
aliases:        files
passwd_compat:  ldap
group_compat:   ldap

# insserv –v /etc/init.d/autofs,start=3,5; rcautofs start

4).配置ssh:
# vim /etc/ssh/sshd_config
……
#限定登陆的组和机器
AllowGroups oracle notes admin root
AllowUsers *@adminconsole1_ip *@adminconsole2_ip

#限制安控办的人登陆
DenyGroups security

#关闭反解释,加快登陆速度
UseDNS no

#30分钟客户没有响应后断开连接
ClientAliveInterval 600
ClientAliveCountMax 3

#起用kerberos验证
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
……
# vim /etc/ssh/ssh_config
……
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
……

#rcsshd restart

5).
配置时钟同步:
# vim /etc/ntp.conf
……
server szxntp01-in.MOODISK.com
server szxntp02-in.MOODISK.com
……

# insserv –v /etc/init.d/xntpd,start=3,5; rcxntpd restart

6).
配置工作环境:
# vim /root/.bashrc
/bin/date >/root/.bash_history

# vim /root/.bash_logout
history -a
/bin/date >>/root/.bash_history
/bin/logger -f /root/.bash_history
/usr/bin/kdestroy

5.2 现有linux系统统计表
参见红宝书中的《Domino服务器清单和位置》

5.3 例子:一次故障处理全过程演示
图5:一次问题处理过程

图中:红色箭头代表人的行为方向,绿色箭头则是目录信息的流向。
整个故障处理过程大致分为三阶段:授权、问题处理、撤权。
1).授权过程:维护员接到问题后向安控办授权员申请故障机的root角色-->授权员登入管理控制台运行脚本menu.sh-->选择“授权菜单”:输入故障机器名、维护员帐号和时间段。
2).问题处理过程:维护员登入管理控制台⑵-->维护员以root身份登入故障机B⑶-->维护员处理问题-->返回到管理控制台-->退出管理控制台。 票据的获取和销毁是自动完成的。
3).撤权过程:有两种方法,一时自动完成,即过了有效期后自动撤权,二是在脚本中手工完成:授权员登入管理控制台运行脚本menu.sh选择“撤权菜单”:输入故障机器名、维护员帐号。
等入控制台:可采用windows工具,如putty, 输入帐号kongxue/grants或zsan/MOODISK登入;
查询当前的票据:klist
维护员持票据代理root角色登入故障服务器:ssh root@

5.4 FAQ
1).其他机器没法远程管理kerberos库
检查kerberos主机上的三个后台进程已经启动:kdc, kadmind, kpasswdd --> 网络通 --> 确保/etc/krb5.conf中的配置项正确(与kerberos主机上的相同)--> 检查kerberos主机上的权限管理文件是否配置正确(/var/heimdal/kadmind.acl)--> kadmin –p (principal要出现在权限管理文件中)。

2).不输密码通过ssh工具没法登入到另一台机器
如果没有看到提示输入密码信息(说明网络连同存在问题,这时检查网络是否通)-->对端机器sshd是否正常启动(在对端机器上输入ssh localhost)-->两端防火墙是否阻止了ssh会话-->两端ssh是否配置成了使用kerberos验证机制-->检查kerberos库中是否存在相应的principal-->查看本地的授权票据是否存在或过期(klist)-->检查欲登入帐户的家目录下的文件.k5login中是否存在当前的帐号所对应的pincipal(例如你的pincipal是zsan/oracle@MOODISK.COM,拟以帐号lsi/notes登入另一台机器,那么在lsi/notes的家目录的.k5login应包含zsan/oracle@MOODISK.COM)-->检查家目录能否自动mount到对端机器-->检查两台机器的时差是否在合理范围内(不超过5分钟)
阅读(2081) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~