文章目录
这个文章说一说在Linux中的有关用户认证的几种方式,应该都是比较简单的几种认证方式,然后就是集合Apache进行网页浏览的认证方式,就是有些的配置比较偏门,然后我的文件结构和网上找的好多也都不一样,所以研究了好一阵,有些我也不是特别东,如果有错的话可以提出来然后我改正。
LDAP
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
在这里我需要在服务器上配置好LDAP,我的环境还是Ubuntu。
安装
直接就能安装
apt-get install slapd ldap-utils migrationtools
然后执行
dpkg-reconfigure slapd
之后按照提示一步一步走,可以按照参考链接的第一条做。
配置好了如下图所示
执行查看是否正确输出
ldapsearch -x -b dc=nodomain
如果没有检查是否没有开始服务
/etc/init.d/slapd start
操作
然后就可以进行相关操作了
添加
编写文件如下
//File:lpad_data.ldif
dn: ou=People,dc=nodomain
objectClass:organizationalUnit
ou: People
dn: ou=Groups,dc=nodomain
objectClass: organizationalUnit
ou: Groups
dn: cn=DEPARTMENT,ou=Groups,dc=nodomain
objectClass: posixGroup
cn: SUBGROUP
gidNumber: 5000
dn: uid=USER,ou=People,dc=nodomain
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: USER
sn: LASTNAME
givenName: FIRSTNAME
cn: FULLNAME
displayName: DISPLAYNAME
uidNumber: 10000
gidNumber: 5000
userPassword: USER
gecos: FULLNAME
loginShell: /bin/bash
homeDirectory: USERDIRECTORY
ldapadd -x -D cn=admin,dc=nodomain -W -f ldap_data.ldif
输入密码之后,就可以看到成功添加了一条数据
查询
执行如下命令可以查询出当前域的所有信息吧好像
ldapsearch -x -b dc=nodomain
执行如下命令进行数据的查询
ldapsearch -x -b dc=nodomain ‘uid=USER’
执行如下命令可以获取指定的数据
ldapsearch -x -LLL -b dc=nodomain ‘uid=USER’ cn gidNumber uidNumber
删除数据
我总算会删除了,删了一下午,里面的参数吧,-w
后面接的是之前设好的密码,也可以不写,然后会提示输入密码的,这里’uid=USER,ou=People,dc=nodomain’
的内容是上面的.ldif文件的第一行吧,这样的,必须得一样
ldapdelete -x -D “cn=admin,dc=nodomain” -w root ‘uid=USER,ou=People,dc=nodomain’
如果成功了应该不会有回显的,不成功的话,会提示报错,比如
ldap_bind: Invalid credentials (49)
这个问题有可能是密码错了,检查一下-w
后面接的参数对不对。
之后在此查询一下
ldapsearch -x -b “dc=nodomain” -D “cn=admin.dc=nodomain” ‘uid=USER’ -w root
可以看到已经查找不出来数据了,说明删除了
修改
在修改前先查看一下信息
ldapsearch -x -b dc=nodomain ‘uid=USER’
在此准备将这个人的sn
姓修改一下,修改同样需要一个LDIF文件,可以根据需求做修改
//File:ldap_modify.ldif
dn: uid=USER,ou=People,dc=nodomain
changetype: modify
replace: sn
sn: LASTNAME_Modified
执行
ldapmodify -a -D cn=admin,dc=nodomain -w root -f ldap_modify.ldif
千万不要这么使用:ldapmodify -a -D “uid=USER,ou=People,dc=nodomain” -w root -f ldap_modify.ldif,否则会一直报错ldap_bind: Invalid credentials (49)
执行ldapsearch -x -b dc=nodomain ‘uid=USER’
再次查看信息,通过对比可以看出sn
已经做了修改
关于修改,可以查看参考链接里面的信息
编写
关于IDLF文件的编写,这是一个树结构,大致如下
一些关键字如下