linux2 账号集中认证实验,使用OpenLDAP实现集中用户认证

测试环境: centos5.1

如果你有很多台Linux服务器需要管理,每一台服务器都有自己的用户名和口令,修改口令将是一件很麻烦的事情。这时候你可以考虑使用LDAP服务实现集中的用户认证。当然,LDAP的应用是非常广泛的,还需要我们不断的去实践。

服务器端配置

1、安装OpenLDAP Server

OpenLDAP是一个LDAP服务的实现。By default, OpenLDAP uses TCP and UDP port 389 for unencrypted connections and TCP

and UDP port 636 for secure, encrypted connections.

我们需要一台OpenLDAP Server, 这个server集中管理用户,其他客户端(如另外一台linux)通过这个Server进行身份认证。

安装命令:

yum install openldap openldap-servers openldap-clients

2、配置LDAP

编辑 /etc/openldap/slapd.conf

修改suffix改为你想要的domain

suffix “dc=example,dc=com”

定义一个具有完全控制权的用户,可以是admin或任何你喜欢的名字

rootdn “cn=admin,dc=example,dc=com”

如果要远程管理,要设置一个口令

rootpw {SSHA}vhSdnGD3mNZpvxF63OmuaAUlNF16yVVT

这个口令不是明文,明文配置在这里是不安全的,口令可以用命令slappasswd生成。

在/var/lib/ldap下生成一个DB_CONFIG文件,这个文件中有一些参数调整的选项。可以直接拷贝一个。

cp /etc/openldap/DB_CONFIG.example  /var/lib/ldap/DB_CONFIG

3、启动LDAP服务

service ldap start

这时应该可以正常启动

4、建立用户信息

建立一个user.ldif文件,内容如下

###############################

dn: dc=example, dc=com

objectClass: top

objectClass: dcObject

objectClass: organization

dc: example

o: example, Inc.

dn: ou=People,dc=example,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

dn: ou=Group,dc=example,dc=com

ou: Group

objectClass: top

objectClass: organizationalUnit

dn: cn=testuser1,ou=Group,dc=example,dc=com

objectClass: posixGroup

objectClass: top

cn: testuser1

userPassword: {crypt}x

gidNumber: 1002

dn: cn=testuser2,ou=Group,dc=example,dc=com

objectClass: posixGroup

objectClass: top

cn: testuser2

userPassword: {crypt}x

gidNumber: 1003

dn: uid=testuser1,ou=People,dc=example,dc=com

uid: testuser1

cn: testuser1

objectClass: account

objectClass: posixAccount

objectClass: top

userPassword: {MD5}Qdp28Pw+xippOeY0v7ajQg==

loginShell: /bin/sh

uidNumber: 1002

gidNumber: 1002

homeDirectory: /home/testuser1

dn: uid=testuser2,ou=People,dc=example,dc=com

uid: testuser2

cn: testuser2

objectClass: account

objectClass: posixAccount

objectClass: top

userPassword: {MD5}WN0CTUnh0bg6XTB/CfMnNA==

loginShell: /bin/sh

uidNumber: 1003

gidNumber: 1003

homeDirectory: /home/testuser2

###############################

这个文件定义了两个用户testuser1和testuser2和对应的组testuser1和testuser2

下面把这个文件导入到LDAP Server中,

先停止LDAP Server

service ldap stop

然后导入

slapadd -v -l user.ldif

如果运新正常,你可以看到以下信息:

added: "dc=example,dc=com" (00000001)

added: "ou=People,dc=example,dc=com" (00000002)

added: "ou=Group,dc=example,dc=com" (00000003)

added: "cn=testuser1,ou=Group,dc=example,dc=com" (00000004)

added: "cn=testuser2,ou=Group,dc=example,dc=com" (00000005)

added: "cn=testuser3,ou=Group,dc=example,dc=com" (00000006)

added: "uid=testuser1,ou=People,dc=example,dc=com" (00000007)

added: "uid=testuser2,ou=People,dc=example,dc=com" (00000008)

added: "uid=testuser3,ou=People,dc=example,dc=com" (00000009)

修改/var/lib/ldap下文件的权限

chown ldap.ldap /var/lib/ldap/*

5、启动LDAP服务

service ldap start

检查服务是否正常

ldapsearch -x -b 'dc=example,dc=com'

我们可以看到之前导入的数据

If encryption has not been enabled, the -x option must also be specified to use simple

authentication instead

客户端配置

找另外一台机器配置为客户端。只有一台机器?可以用xen做一个虚拟机测试。

1、安装OpenLDAP Client

安装命令:

yum install openldap openldap-clients

2、修改认证方式

运行命令: authconfig-tui

在User Information处,选择 Use LDAP

在Authentication处,选择 Use LDAP Authentication 和 Local authorization is sufficient

在LDAP Settings处,填写

Server ldap://xxx.xxx.xxx.xxx/  (这里的IP就是你配置的LDAP Server的IP)

Base DN: dc=example,dc=com

authconfig-tui帮助你完成了一些文件的配置,你会发现以下文件的内容改变了,你也可以直接修改这些文件达到相同的效果(这就是Unix/Liinux的一贯作风!)

/etc/openldap/ldap.conf

/etc/ldap.conf

/etc/nsswitch.conf

/etc/pam.d/system-auth

3、测试

从其他地方ssh登录这台机器,你应该可以用testuser1, testuser2登录。你同时也可以用这台机器本地的root登录。

如果有问题,除了检查一下配置外,还要看看iptables, 是不是把LDAP用的端口给禁了。

By default, OpenLDAP uses TCP and UDP port 389 for unencrypted connections and TCP and UDP port 636 for secure, encrypted connections.

4、自动创建用户目录

当你用testuser1登录时,系统提示目录/home/testuser1不存在,可以修改一下配置来自动创建。

编辑 /etc/pam.d/system-auth

session     required      pam_unix.so

session     required      pam_mkhomedir.so skel=/etc/skel/  #在这里插入这一行

session     optional      pam_ldap.so

再登录看看,目录有了!

这只是一个简单的配置记录,如果要理解为什么这么配置,你需要了解LDAP和PAM的一些知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值