LDAP--OpenLDAP

首先说下标题LDAP–OpenLDAP,他们并不是一个东西。

LDAP:Lightweight directory access protocol 轻量级目录访问协议。是美国密歇根大学推出的基于X.500标准的一种简化的目录访问协议,属于目录服务。它里边的信息是一树形结构在一个数据库中存储的,ldap本身并不是数据库,而是规定如何从网络访问数据库,它的功能没数据库那么强大。

目录服务

      目录服务是一种信息查询服务,把管理所需要的信息按照层次结构关系构造成一种树形结构,并将这些信息存储于目录数据库,使用树状结构的目录数据库提供信息查询。比如linux的目录结构就是倒树型。

目录数据库

       目录实际上就是一个数据库,里面储存了有关资源(文件)的信息,以及资源的位置、管理等。
      与关系型数据库相比,目录更容易为用户提供高效的查询,数据的读取和查询很快;但是写的效率较低。
      还是用linux举例子,/etc/httpd/conf/httpd.conf绝对路径,就是从根进行逐层搜索,最终找到了httpd.conf这个文件。

为什么使用LDAP

      LDAP对数据的读取做了很多优化,比如优化了数据类型,修改了锁机制,取消了不必要的函数,取消了回滚机制等等,非常适用于读多写少的环境,并且支持跨平台。如果你有一些面向查询的服务,那LDAP无疑是一个不错的选择。
LDAP目录中可以存储各种类型的数据:
      电子邮件地址; 人力资源数据; 公用密匙联系人列表等等。

我们用的软件就是用ldap技术实现了用户集中管理的软件OpenLDAP。

层次结构:

例子:
把一个大学的庞大的学生信息放到LDAP里:
(1)建立一个"dc=ourschool,dc=edu“的树根"
(2)建立若干个系:
ou=computer,dc=ourschool,dc=edu
ou=film,dc=ourschool,dc=edu

(3)在每个系建立专业 如
ou=linux,ou=computer,dc=ourschool,dc=edu
ou=network,ou=computer,dc=ourschool,dc=edu

(4)加学生
dn:cn=xiaoming,ou=linux,ou=computer,dc=ourschool,dc=edu
dn:cn=xiaoliang,ou=network,ou=computer,dc=ourschool,dc=edu
cn=xiaoming,ou=linux,ou=computer,dc=ourschool,dc=edu整个这一条就是1xiaoming这个学生的dn。

(5)学生的详细信息
dn:cn=xiaoming,ou=linux,ou=computer,dc=ourschool,dc=edu
objectClass: organizationalPerson
cn:xiaoming
cn:小明
description:a good boy,…

基本概念

  • (1)Entry(条目),也叫记录项,是LDAP中最基本的颗粒,通常对LDAP的添加、删除、更改、检索都是以条目为基本对象的;
        每个条目包含了一组有名字的属性比如UID,description等,和这些属性的值。

    dn:Distinguished Names:标识名;一条记录的位置
    dc:Domain Component: 域组件;一条记录所属的区域
    ou:Organization Unit:组织单元;一条记录所属的组织
    cn/uid:Common Name:通用名;一条记录的名字/ID

  • (2)属性(Attribute),每个条目都可以有很多属性;

  • (3)对象类(ObjectClass)是属性的集合;

  • (4)模式(Schema),对象类、属性类型、语法分别约定了条目、属性、值,这些构成了模式(Schema)–对象类的集合;

  • (5)数据库(database),保存数据的;

  • (6)SSL/TLS 的加密协议用来保证数据传送的保密性和完整性;

  • (7)LDIF(LDAP Data Interchange Format,数据交换格式)是LDAP数据库信息的一种文本格式,用于数据的导入导出,每行都是“属性: 值”。

具体配置:

OpenLDAP也是服务端客户端类型的。
172.16.12.62 server 端
172.16.12.63 client 端

首先配置server端

1、安装软件:

[root@ldap_server ~]# yum install -y openldap openldap-servers openldap-clients openldap-devel migrationtools

2、生成加密密码:

[root@ldap_server ~]# slappasswd
New password: 
Re-enter new password: 
{SSHA}I+VIzW+ERq8zOJbw1zIUAtvmC/4I4h+2
密码是000000 加密后是最下边的。

3、改配置文件:

[root@ldap_server ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
上边是配置文件。  
  7  al,cn=auth" read by dn.base="cn=Manager,dc=testl,dc=com" read by * none
增加管理员信息  Manager就是管理员用户名
修改dc后边的东西,这个是自定义的。也就是上边说的树根。
[root@ldap_server ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
  8 olcSuffix: dc=testl,dc=com
基准DN
  9 olcRootDN: cn=Manager,dc=testl,dc=com
管理员用户的DN
同上个配置文件,修改dc根,要想同。

 19 olcRootPW: {SSHA}G1cm46dfFkfjJb71PkmTBtooxKBRqPnc
管理员用户的密码

4、准备数据库配置文件:

[root@ldap_server ~]# cd /var/lib/ldap/
这个目录就相当于是/var/lib/mysql,是存放数据库的位置。

[root@ldap_server ldap]# cp /usr/share/openldap-servers/DB_CONFIG.example .
[root@ldap_server ldap]# mv DB_CONFIG.example DB_CONFIG
[root@ldap_server ldap]# chown -R ldap:ldap .

就将配置文件拷贝过来,然后赋予整个目录权限。

启动服务测试:

[root@localhost ldap]# systemctl restart slapd
[root@localhost ldap]# systemctl enable slapd
Created symlink from /etc/systemd/system/multi-user.target.wants/slapd.service to /usr/lib/systemd/system/slapd.service.

[root@localhost ldap]# netstat -antlup | grep slapd
tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      2259/slapd          
tcp6       0      0 :::389                  :::*                    LISTEN      2259/slapd  

5、导入数据库的schemas:

这个是schenas一个解释:https://blog.csdn.net/n_u_l_l_/article/details/103525305 (主要看LDAP的schemas就好了。)

这个可以是固定写法了,放到脚本中执行也可以。

cd /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif

6、写个脚本,添加10个用户:(测试用)

[root@localhost /]# mkdir /ldaphome

[root@localhost ~]# vim useradd.sh 
#!/bin/bash

userlist="/root/userandpass.txt"

if [ ! -d ${userlist} ]
then
    touch ${userlist}
fi

> ${userlist}
for  i in `seq 1 10 `
do
    id user$i
    if [ $? -ne 0 ]
    then
        useradd user$i -d /ldaphome/user${i}
        passwd=$(tr -dc a-zA-Z0-9_ < /dev/urandom | head -c 6 | xargs)
        echo "${passwd}" | passwd user$i --stdin
        echo -e "user$i\t${passwd}" >> ${userlist}
    fi
done

[root@localhost ~]# cat userandpass.txt 
user1	VX1dDz
user2	G9eKs6
user3	s8S2N8
user4	bNBwce
user5	QkGb2H
user6	Lx765n
user7	z7Au5H
user8	uvYOcF
user9	UnFmBq
user10	Gg3dV7

!!!!!!!一定要指定家目录。!!!!!!!!
!!!!!!!一定要指定家目录。!!!!!!!!
!!!!!!!一定要指定家目录。!!!!!!!!

要测试的只是后创建的10个用户所以重新建个文件方便。

[root@localhost ~]# tail /etc/passwd > /tmp/passwd
[root@localhost ~]# tail /etc/group > /tmp/group
[root@localhost ~]# tail /etc/shadow > /tmp/shadow

7、编辑配置文件:

[root@ldap_server ~]# cd /usr/share/migrationtools/
[root@ldap_server migrationtools]# vim migrate_common.ph 
61     $NAMINGCONTEXT{'group'}             = "ou=Groups";
改下组的ou
 71 $DEFAULT_MAIL_DOMAIN = "testl.com";
 74 $DEFAULT_BASE = "dc=testl,dc=com";
dc改成最初设置的
 90 $EXTENDED_SCHEMA = 1;
改成1 
[root@ldap_server migrationtools]# vim migrate_passwd.pl
188     open(SHADOW, "/tmp/shadow") || return;
这个就是指定了用户的密码文件

8、生成基本框架:

[root@ldap_server migrationtools]# ./migrate_base.pl > /tmp/base.ldif

[root@ldap_server migrationtools]# vim /tmp/base.ldif
删掉其他的剩这些够用。

dn: dc=testl,dc=com
dc: testl
objectClass: top
objectClass: domain
objectClass: domainRelatedObject
associatedDomain: testl.com

dn: ou=People,dc=testl,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: testl.com

dn: ou=Groups,dc=testl,dc=com
ou: Groups
objectClass: top
objectClass: organizationalUnit
objectClass: domainRelatedObject
associatedDomain: testl.com

9、生成用户和组的数据文件:

[root@ldap_server migrationtools]# ./migrate_passwd.pl /etc/passwd > /tmp/user.ldif
[root@ldap_server migrationtools]# ./migrate_passwd.pl /etc/group > /tmp/group.ldif

//这个生成的文件 user.ldif就相当于是XXXX.sql 。SQL脚本,mysql备份导出的文件。保存着ldap的实际数据

10、将数据文件导入数据库:
先导入骨架

[root@ldap_server migrationtools]# ldapadd -xWD "cn=Manager,dc=testl,dc=com" -f /tmp/base.ldif 
Enter LDAP Password: 
adding new entry "dc=testl,dc=com"
//其实这个能看明白dc嘛
adding new entry "ou=People,dc=testl,dc=com"
//ou
adding new entry "ou=Groups,dc=testl,dc=com"
//ou
	-x	进行认证
	-W  输入密码
	-D	绑定服务器的基准DN
	-f	使用的ldif文件
	cn=Manager,dc=sgy,dc=com	ldap的管理员用户

然后导入数据

[root@ldap_server migrationtools]# ldapadd -x -W -D "cn=Manager,dc=testl,dc=com" -f /tmp/user.ldif 
Enter LDAP Password: 
adding new entry "uid=user1,ou=People,dc=testl,dc=com"

adding new entry "uid=user2,ou=People,dc=testl,dc=com"
...........

[root@ldap_server migrationtools]# ldapadd -x -W -D "cn=Manager,dc=testl,dc=com" -f /tmp/group.ldif 
Enter LDAP Password: 
adding new entry "cn=user1,ou=Groups,dc=testl,dc=com"

adding new entry "cn=user2,ou=Groups,dc=testl,dc=com"

adding new entry "cn=user3,ou=Groups,dc=testl,dc=com"
........
[root@ldap_server migrationtools]# ldapsearch -xWD "cn=Manager,dc=testl,dc=com" -b "uid=user1,ou=People,dc=testl,dc=com" -LLL
Enter LDAP Password: 
dn: uid=user1,ou=People,dc=testl,dc=com
uid: user1
cn: user1
sn: user1
mail: user1@testl.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQ2JFY4Lks4MldxJGI1bVZDN2toWG84eThGY201R0JCaHRGLnZqN29
 0NmxNUlBIdUZpNS51ZmEyWEtjWm9DMFZsZHdUOFZWMnVBTWJhN3ZFWWFiN3JJcEI3QzlKSnliMWkx
shadowLastChange: 18242
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /ldaphome/user1

-b   后边加的是查询的条件
uid=user1用户ID,ou=People所在ou,dc=testl,dc=com这个是所在dc
-LLL就是详细显示

到这里服务端的内容就基本完成,并且也有user1到user10 10个用户。

其次,配置client端

1、安装软件

[root@ldap_client ~]# yum install -y nss-pam-ldapd pam_krb5 setuptool

2、直接setup

[root@ldap_client ~]# setup

打开之后就进到下边这个页面
在这里插入图片描述
选择RunTool进行配置

在这里插入图片描述
这些选项只选这2 个,按空格选中。

在这里插入图片描述

在这里写上服务端IP和dc域。然后ok

又会跳到第一页。

在这里插入图片描述

这次直接 Quit 退出就好了。

然后可以直接在额外的另一台机器上做测试。
[root@localhost zones]# ssh user1@172.16.12.63】
IP输入client客户端的IP。
The authenticity of host '172.16.12.63 (172.16.12.63)' can't be established.
ECDSA key fingerprint is SHA256:iXTfA21RkpJUzHpSYB6d2ZIORcUpaKxDfPCTA0IM5W8.
ECDSA key fingerprint is MD5:21:21:2d:86:77:43:f6:90:16:cb:c7:58:e5:71:eb:71.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.12.63' (ECDSA) to the list of known hosts.
user1@172.16.12.63's password: 
Could not chdir to home directory /ldaphome/user1: No such file or directory

-bash-4.2$  这就登陆进来了,但是没有家目录。

-bash-4.2$ ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

从结果可以看到,在服务端创建的用户user1~user10 ,但是也能用这个用户直接登录client客户端。这就实现了用户的集中管理。

家目录的创建

下面进行家目录的创建。NFS+自动挂载来实现。

server 端

配置NFS,共享ldap用户的家目录:
1、安装nfs

[root@ldap_server migrationtools]# yum install nfs-* -y

2、设置共享目录

[root@ldap_server ~]# vim /etc/exports
/ldaphome 172.16.0.0/16(rw,sync)
[root@ldap_server ~]# systemctl restart nfs
client 端

配置autofs,自动挂载nfs的共享:
1、安装nfs 自动挂载

[root@ldap_client ~]# yum install -y nfs-utils autofs

2、配置自动挂载

[root@ldap_client ~]# showmount -e 172.16.12.62
Export list for 172.16.12.62:
/ldaphome 172.16.0.0/16
[root@ldap_client ~]# vim /etc/auto.master
/ldaphome /etc/auto-ldap.conf   //加一行

[root@ldap_client ~]# vim /etc/auto-ldap.conf
*   -rw,soft,intr   172.16.12.62:/ldaphome/&

[root@ldap_client ldaphome]# systemctl restart autofs
[root@ldap_client ldaphome]# systemctl enable autofs
Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.


[root@ldap_client ~]# cd /ldaphome/
[root@ldap_client ldaphome]# ls
[root@ldap_client ldaphome]# cd user1
-bash: cd: user1: Permission denied
其实可以看一下,但是发现没有权限,而不是提示目录不存在,这就是ok了

再次在另一台机器上进行登录测试:

这次就有家目录了

[root@localhost zones]# ssh user1@172.16.12.63
user1@172.16.12.63's password: 
Last login: Fri Dec 13 03:13:26 2019 from 172.16.12.32
[user1@ldap_client ~]$ pwd
/ldaphome/user1

应用:

1:ssh,那必须的能啊,刚才就是ssh访问的啊

2:vsftpd
client端安装vsftpd,然后启动服务。

[root@zabbix-ms ~]# ftp 172.16.12.63
Connected to 172.16.12.63 (172.16.12.63).
220 (vsFTPd 3.0.2)
Name (172.16.12.63:root): user1   //直接输入这个user1用户
331 Please specify the password.  
Password:						//密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

对于别的机器来说,user1就在client上,没有什么差别。

3、samba

[root@node1 ~]# yum install -y samba

[root@node1 ~]# vim /etc/samba/smb.conf
[share]
    comment = ldap test user1
    path = /samba
    writable = yes
    create mask = 0664
    directory mask = 0775

[root@ldap_client ~]# mkdir /samba
[root@ldap_client ~]# chmod 1757 /samba/

[root@ldap_client ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.

[root@node1 ~]# smbpasswd -a user2
New SMB password:
Retype new SMB password:
Added user ldap2.

[root@ldap_client ldaphome]# systemctl restart smb

在这里插入图片描述

ldap的管理:

用户的添加:
1、修改脚本,在跑一遍脚本

user11  riRpwt
user12  D7VOeu
user13  I_HPqa
user14  soHHYz
user15  HOypyM
user16  8lxGQq
user17  BVh0AD
user18  jaHYJN
user19  dZpDN1
user20  rFsDDL
生成了这几个         

2、做用户

[root@ldap_server ~]# tail /etc/passwd > /tmp/passwdnew
[root@ldap_server ~]# tail /etc/group > /tmp/groupnew
[root@ldap_server ~]# tail /etc/shadow >> /tmp/shadow 
//注意最后的shadow要用追加,因为上边配置文件中的位置的这个,记录着用户的密码,要一直用的 ,如果重定向的话前10个用户就没有密码了。

3、生成数据文件然后导入:

[root@ldap_server migrationtools]# ldapadd -xWD "cn=Manager,dc=testl,dc=com" -f /tmp/usernew.ldif

[root@ldap_server migrationtools]# ldapadd -xWD "cn=Manager,dc=testl,dc=com" -f /tmp/groupnew.ldif
[root@localhost zones]# ssh user11@172.16.12.63
user11@172.16.12.63's password: 
[user11@ldap_client ~]$ 
直接测试就好了

用户的删除:

server端删除
[root@ldap_server migrationtools]#  ldapdelete -xWD "cn=Manager,dc=testl,dc=com" "uid=user1,ou=People,dc=testl,dc=com"
Enter LDAP Password: 

这个删除只是删除数据库中的那个记录,server端本机上的用户还在。

client端测试
[root@ldap_client ldaphome]# su - user1
su: user user1 does not exist

用户的添加,单个:

添加单个的用户语法如下,这个很复杂。用脚本反而比较好点。

#!/bin/bash

cat << EOF| ldapadd -x -D "cn=Manager,dc=gsc,dc=com" -w 000000
dn: uid=user1,ou=People,dc=gsc,dc=com
uid: user1
cn: user1
sn: user1
mail: user1@gsc.com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e2NyeXB0fSQ2JEZ1cjZYSE40JFRLeWQ1dGcxVzNad2Y5SngzbEtaYURzeTl2R1E
 zcy5FeWdkUWZJQnNGYmRYMXFtNHBVUFFhRHQyLzUyM09ib1pzYzFkLnczUk1CbExGZDQ2dkRDLzgw
shadowLastChange: 18242
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /ldaphome/user1
EOF

这个的话如果想让新添加的用户的家目录生效还有再次重新启动话autofs自动挂载才行!!!

用户信息的修改:
但是这个修改很麻烦。。。。

ldapmodrdn -x -D "cn=Manager,dc=testl,dc=com" -w123456 "uid=user2,ou=People,dc=testl,dc=com" "uid=user222"

下面会有图形化工具进行操作经简单得多了。

密码的修改
-w是直接写入密码。

ldappasswd -x -D "cn=Manager,dc=testl,dc=com" -w000000  "uid=user2,ou=People,dc=testl,dc=com"  -s123456

OpenLDAP图形化工具:

首先确定安装和开启了LDAP,端口是389端口。

[root@ldap_server ~]# systemctl restart slapd
[root@ldap_server ~]# netstat -antlup | grep slap
tcp        0      0 0.0.0.0:389             0.0.0.0:*               LISTEN      1348/slapd          
tcp6       0      0 :::389                  :::*                    LISTEN      1348/slapd       

然后直接yum安装,注意要有epel的yum源,阿里的镜像就好了。

懒得找了可以看这个:https://blog.csdn.net/n_u_l_l_/article/details/103427416 我汇总了一些比较常用的

1、yum安装

[root@ldap_server ~]# yum install phpldapadmin -y
安装这个会自动安装apache等等的。

2、修改配置文件。
/etc/httpd/conf/httpd.conf:apache配置文件

[root@ldap_server ~]# vim /etc/httpd/conf/httpd.conf

102 <Directory />
103     AllowOverride all
104     Require all denied
105 </Directory>
allow这个改成all

/etc/phpldapadmin/config.php :phpldapadmin配置文件

[root@ldap_server ~]# vim /etc/phpldapadmin/config.php

298 $servers->setValue('server','host','127.0.0.1');   
//取消注释

301 $servers->setValue('server','port',389);  
//取消注释

305 $servers->setValue('server','base',array('dc=testl,dc=com'));   
//取消注释,并在array的括号里写上一开始自己配置的dc。我的就是这个

323 $servers->setValue('login','auth_type','session');
//取消注释。

397 $servers->setValue('login','attr','dn');//这个取消注释

398 //$servers->setValue('login','attr','uid');//这个加上注释

简单来说就是用dn那个。

/etc/httpd/conf.d/phpldapadmin.conf:登录的配置文件

[root@ldap_server ~]# vim /etc/httpd/conf.d/phpldapadmin.conf

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
  <IfModule mod_authz_core.c>
    # Apache 2.4
    Require local
    Require ip 172.16.12    //注意这里要写IP的网段,也就是3位,不这么写就不能访问。另外也只能172.16.12网段访问172.16.13等其他网段不能访问
    Require ip 172.16.13	//但是可以写多个来进行多网段的访问
  </IfModule>
#  <IfModule !mod_authz_core.c>   //centos7默认是2.4,所以2.2的可以注释掉。
#    # Apache 2.2
#    Order Deny,Allow
#    Deny from all
#    Allow from 127.0.0.1
#    Allow from ::1
#  </IfModule>
</Directory>

3、重启服务

[root@ldap_server ~]# systemctl restart httpd

4、在浏览器输入http://IP/phpldapadmin
就可以看到图形化操作页面了。

在这里插入图片描述
然后点击左侧的登录。

在这里插入图片描述
输入用户名:cn=Manager,dc=testl,dc=com 就是自己最初设置的那个。(这个用户名就是个dn嘛…)

密码也是自己设置的管理密码。

就能登录了,上边的警告信息不重要,意思是非加密连接

在这里插入图片描述
dc=testl,dc=com这个可以点开,就是下面的这些。

在这里插入图片描述

可以看到这个目录结构 ,就是base.ldif的内容。

再看前边的图标。像这样好几个小人在一起的是组单个人的是用户

在这个基础上新增加用户 :
和在命令行的一样,首先在server端创建用户,并指定家目录,然后设置密码。

[root@ldap_server ldaphome]# useradd user23 -d /ldaphome/user22
[root@ldap_server ldaphome]# echo 000000 | passwd user23 --stdin
Changing password for user user22.
passwd: all authentication tokens updated successfully.

ldap图形工具添加用户到openldap的数据库中。
在这里插入图片描述
点击创建新条目

看到右边出现这个。

在这里插入图片描述

然后先添加组.

在这里插入图片描述
点击下边的创建对象按钮。

在这里插入图片描述
然后提交。

就能看到这个组了。

在这里插入图片描述然后添加用户,密码就是用户的密码,GID号就是刚刚添加的那个组。

后边的家目录,和使用的bash,就按情况填就好了。

在这里插入图片描述
一样,也是提交。

注意: 注意: 注意: 注意:
这个Login shell 就是登陆shell,这里用的是/bin/sh,而不是我们熟悉的/bin/bash,只要提交然后手动修改成/bin/bash就可以了。

否则就算设置的家目录,并且家目录里也有隐藏的骨架文件,也不能显示正常的头信息。

sh 和 bash的区别:https://blog.csdn.net/n_u_l_l_/article/details/103530977

注意: 注意: 注意: 注意:

其实还可以添加别的属性,比如邮箱什么的,就像上边导入时那么多的属性。

在这里插入图片描述

这里我就不做了。0.0

在这里插入图片描述

能够看到user23组和user23用户。添加上了。

然后就可以进行登录测试了。

额外一台机器

[root@localhost ~]# ssh user23@172.16.12.63
user22@172.16.12.63's password: 

[user22@ldap_client ~]$ pwd
/ldaphome/user23
[user22@ldap_client ~]$ 

到这里就ok了,添加用户成功。

OpenLDAP的大部分基本操作就解释得差不多了,图形化的工具其实也很好用,导入导出,修改删除,都是可以的,但是都很简单,看看就能明白,我在这里就不一一截图演示了。QAQ

以上。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值