暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

CentOS 7使用ldap作为用户管理平台

DevOps视角 2022-04-23
76
  • 1、 配置文件功能介绍

  • 2、创建ldap用户

  • 3、 在服务器配置使用ldap用户做登录用户

前提是已经部署好ldap服务,已经创建好了对应的目录树组织架构。


CentOS 5.x会有些区别,并且系统版本已经很早了,有需要的可以自行研究下。

1、 配置文件功能介绍

  • /etc/nsswitch.conf

    该文件由glibc软件包生成,主要用于名称转换服务,用于UNIX &Linux系统验证用户身份所读取本地文件或是远程验证服务器文件。

  • /etc/sysconfig/authconfig

    由authconfig软件包生成,主要用于提供身份验证功能。

  • /etc/pam.d/system-auth

    该文件由pam软件包生成,主要用于实现用户账号身份验证。

  • /etc/pam_ldap.conf

    由nss-pam-ldapd软件包生成,实现客户端与服务器端的交互。

2、创建ldap用户

创建用户ldif文件

dn: uid=lisi,ou=people,dc=ikevin,dc=org
objectClass: posixAccount
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
cn: system
sn: 李
givenName: 李四
displayName: 李四
uid: lisi
userPassword: 123456
uidNumber: 1001
gidNumber: 1001
gecos: System Manager
homeDirectory: /home/lisi
loginShell: /bin/bash
shadowLastChange: 16020
shadowMin: 0
shadowMax: 999999
shadowWarning: 7
shadowExpire: -1
employeeNumber: 0002
homePhone: 0512
mobile: 15230925902
mail: lisi@ikevin.com
postalAddress: 北京
initials: Test

创建用户

# ldapadd -x -D cn=admin,dc=ikevin,dc=org -W -f lisi.ldif 
Enter LDAP Password: 
adding new entry "uid=lisi,ou=people,dc=ikevin,dc=org"

创建用户组ldif

# vim lisi_group.ldif
dn: cn=system,ou=group,dc=ikevin,dc=org
objectClass: posixGroup
cn: system
gidNumber: 1001

创建用户组

# ldapadd -x -D cn=admin,dc=ikevin,dc=org -W -f lisi_group.ldif 
Enter LDAP Password: 
adding new entry "cn=system,ou=group,dc=ikevin,dc=org"

3、 在服务器配置使用ldap用户做登录用户

1、安装OpenLDAP客户端软件包

# yum install openldap-clients nss-pam-ldapd -y

2、修改nslcd.conf配置文件

在/etc/nslcd.conf文件中,添加如下内容

# vim /etc/nslcd.conf 
uri ldap://10.0.1.40/
base dc=ikevin,dc=org
binddn cn=admin,dc=ikevin,dc=org
bindpw 123456
base   group  ou=Group,dc=ikevin,dc=org
base   passwd ou=People,dc=ikevin,dc=org
# systemctl enable nslcd 
# systemctl start nslcd

3、authconfig更新认证

authconfig
程序将为您更新/etc/nsswitch.conf
/etc/pam.d/

# authconfig --updateall --enablemkhomedir --enableldap --enableldapauth
getsebool:  SELinux is disabled
getsebool:  SELinux is disabled

如果遇到问题并需要禁用 LDAP

# authconfig --updateall --disableldap --disableldapauth

4、启动 nscd

# systemctl start nscd
# systemctl status nscd     

5、客户端验证

# getent passwd lisi         
lisi:x:1001:1001:System Manager:/home/lisi:/bin/bash
# id lisi
uid=1001(lisi) gid=1001 groups=1001

6、从其它服务器登录验证

~ # ssh lisi@10.0.1.31
The authenticity of host '10.0.1.31 (10.0.1.31)' can't be established.
ECDSA key fingerprint is SHA256:gD9tbW+a7qye0pbCjl5gHRaguQbqFi1jPIsYMm32iEE.
ECDSA key fingerprint is MD5:97:62:5f:fb:fb:9b:42:71:54:fc:55:14:54:61:de:80.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.1.31' (ECDSA) to the list of known hosts.
lisi@10.0.1.31's password: 
Last login: Sat Apr 23 09:31:10 2022 from 10.0.1.40

[] lisi@node01 10.0.1.31: 0
~ $ pwd
/home/lisi


文章转载自DevOps视角,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论