CentOS 为Apache 使用LDAP 身份验证

Apache 中可以通过mod_authz_ldap 模块为LDAP 提供了良好的的支持。

Apache 中可以通过mod_authz_ldap 模块为LDAP 提供了良好的的支持。

此处假设LDAP服务器已经搭建好,以RHDS为例。

通常,数据需要集中管理,存储并且通过标准方法去访问的。

软件安装

(1)安装Aache 支持LDAP 身份验证的模块

(1)安装Aache 支持LDAP 身份验证的模块

安装软件包:

例如下面的场景:

# yum -y install openldap-servers openldap-clients

#yum –y install mod_authz_ldap

#yum –y install mod_authz_ldap

yum  install  vsftpd  pam_ldap

1 机器认证

# systemctl start slapd

(2) 编辑/etc/httpd/conf.d/authz_ladp.conf 文件,在<IFModule
mod_authz_ldap.c>语句下增加一下内容(假设:/var/phpmyadmin
目录存放的网站使用LDAP身份验证)。

(2) 编辑/etc/httpd/conf.d/authz_ladp.conf 文件,在<IFModule
mod_authz_ldap.c>语句下增加一下内容(假设:/var/phpmyadmin
目录存放的网站使用LDAP身份验证)。

配置pam_ldap

2 用户认证

# systemctl enable slapd

<Directory /var/phpmyadmin>

<Directory /var/phpmyadmin>

编辑配置文件/etc/pam_ldap.conf,修改内容如下:

3
用户/系统组

 

AuthzLDAPServer 192.168.2.100

AuthzLDAPServer 192.168.2.100

base dc=linuxidc,dc=com          #搜索LDAP服务器的起始DN

4 地址簿

密码修改

AuthzLDAPUserBase ou=People,dc=example,dc=com

AuthzLDAPUserBase ou=People,dc=example,dc=com

uri  ldaps://ldap.linuxidc.com    #LDAP服务器的地址

5 组织架构

# slappasswd

AuthzLDAPUserKey uid

AuthzLDAPUserKey uid

ssl  yes                                      #使用SSL加密

6 资产追踪

New password:

AuthzLDAPUserScope base

AuthzLDAPUserScope base

tls_cacertfile    /etc/openldap/cacerts/myca.crt    #指定的CA公钥

7
电话信息存储

Re-enter new password:

AuthType basic

AuthType basic

pam_password md5

8
用户资源管理

{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx

AuthName “This is Test LDAP Auth”

AuthName “This is Test LDAP Auth”

注意:在使用SSL加密的时候,uri中指定的服务器地址必须和证书中的CN名称匹配。

9
邮件地址查询

# vim chrootpw.ldif

# specify the password generated above for "olcRootPW" section

dn: olcDatabase={0}config,cn=config

changetype: modify

add: olcRootPW

olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx // copy above

# ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

Require valid-user

Require valid-user

若LDAP服务器不允许匿名绑定,则需要配置binddn和bindpw

10
应用配置存储

 

</Directory>  

</Directory>

配置vsftpd使用的PAM

等等…… 

 

推荐阅读:

 

编辑配置文件 /etc/pam.d/vsftpd,加入下面两行

 

基础Schema导入

RedHat6下构建LDAP服务

推荐阅读:

auth      sufficient  pam_ldap.so          #把这行放在第一个auth项

什么时候不需要使用LDAP?

# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif

Linux 使用pam_LDAP通过ad域认证

RedHat6下构建LDAP服务
http://www.linuxidc.com/Linux/2013-05/84741.htm

account    sufficient  pam_ldap.so        #把这行放在第一个account项

只有一个应用使用或者操作该数据时。 

# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif

Zimbra故障——Unable to determine enabled services from LDAP

Linux 使用pam_LDAP通过ad域认证
http://www.linuxidc.com/Linux/2012-09/71043.htm

配置vsftpd

# ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/openldap/schema/inetorgperson.ldif

中可以通过mod_authz_ldap 模块为LDAP
提供了良好的的支持。 (1)安装Aache 支持LDAP 身份验证的模块 #yum y
install mod_authz_ldap (2) 编辑/e…

Zimbra故障——Unable to determine enabled services from LDAP
http://www.linuxidc.com/Linux/2012-07/66869.htm

编辑配置文件  /etc/vsftpd/vsftpd.conf,加入配置如下:

 

图片 1

anonymous_enable=NO

 Ldap域数据生成

anon_upload_enable=YES

vim chdomain.ldif

anon_mkdir_write_enable=YES     
#开启这项和上一项才能上传文件和文件夹

# less chdomain.ldif 
# replace to your own domain name for "dc=***,dc=***" section
dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcSuffix
olcSuffix:dc=cnicg,dc=cn

dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootDN
olcRootDN:cn=Manager,dc=cnicg,dc=cn

dn: olcDatabase={1}monitor,cn=config
changetype:modify
replace:olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=cnicg,dc=cn" read by * none

guest_enable=YES

 

guest_username=samwon            #指定LDAP中的用户登录后映射的用户

# ldapmodify -Y EXTERNAL -H ldapi:/// -f
chdomain.ldif

pam_service_name=vsftpd

 

保存后重启vsftpd服务。

基础域数据

效果:

vim basedomain.ldif

图片 2

# replace to your own domain name for "dc=***,dc=***" section

dn: dc=cnicg,dc=cn
objectClass: top
objectClass: dcObject
objectclass: organization
o: cnicg cn
dc: cnicg



dn: cn=Manager,dc=cnicg,dc=cn
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=cnicg,dc=cn
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=cnicg,dc=cn
objectClass: organizationalUnit
ou: Group

此处RedHat是RHDS目录服务中的一个用户,可以看出已经成功登录ftp服务器。

 

图片 3

# ldapadd -x -D
cn=Manager,dc=cnicg,dc=cn -W -f basedomain.ldif

 

相关文章