APACHE + LDAP 的权限认证配置方法
2014-05-11 18:00
429 查看
原文地址:http://www.chinaunix.net/jh/49/627646.html
一、前言
很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理。
通过多次试验,总结出以下方法,与大家共享。
配置思路:对用户通过“组(groups)”进行管理,对于需要权限控制的目录,
则通过“组”进行控制。
参考: http://www.moocky.net/Manual/apache/mod/mod_auth_ldap.html http://bbs.chinaunix.net/forum/viewtopic.php?t=618651
二、用户需求
1. 用户结构:
YourComp
|- groups (departments)
| |- grp1 (dep1)
| | |- user1
| | \- user2
| |- grp2 (dep2)
| | |- user3
| | \- user4
| \- grp3 (dep3)
| |- user2
| \- user3
\- members (employees)
|- user1
|- user2
|- user3
\- user4
2. 目录权限:
AppsDir
|- Dir1 允许 grp1 访问
|- Dir2 允许 grp2 访问
\- Dir3 允许 grp1, grp3 访问
三、配置步骤
1. 建立 LDAP 基础记录,BaseDn.ldif 文件:
dn: dc=YourComp
dc: YourComp
objectClass: domain
dn: ou=members,dc=YourComp
ou: members
objectClass: organizationalUnit
dn: ou=groups,dc=YourComp
ou: groups
objectClass: organizationalUnit
2. 建立 LDAP 用户记录,UserDn.ldif 文件:
dn:cn=user1,ou=members,dc=YourComp
cn: user1
sn: USER1
uid: user1
userPassword: user1
objectClass: inetOrgPerson
dn:cn=user2,ou=members,dc=YourComp
cn: user2
sn: USER2
uid: user2
userPassword: user2
objectClass: inetOrgPerson
dn:cn=user3,ou=members,dc=YourComp
cn: user3
sn: USER3
uid: user3
userPassword: user3
objectClass: inetOrgPerson
dn:cn=user4,ou=members,dc=YourComp
cn: user4
sn: USER4
uid: user4
userPassword: user4
objectClass: inetOrgPerson
3. 建立 LDAP 用户组记录,GroupDn.ldif 文件:
dn: cn=grp1,ou=groups,dc=YourComp
cn: grp1
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user1,ou=members,dc=YourComp
uniqueMember: cn=user2,ou=members,dc=YourComp
dn: cn=grp2,ou=groups,dc=YourComp
cn: grp2
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user3,ou=members,dc=YourComp
uniqueMember: cn=user4,ou=members,dc=YourComp
dn: cn=grp3,ou=groups,dc=YourComp
cn: grp3
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user3,ou=members,dc=YourComp
uniqueMember: cn=user2,ou=members,dc=YourComp
4. 运行 ldapadd 添加记录
添加根记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f BaseDn.ldif
添加用户记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f UserDn.ldif
添加用户组记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f GroupDn.ldif
5. 建立 Apache 配置文件,application_auth.conf:
<Location /AppsDir>;
AuthType Basic
AuthName "Please login"
AuthLDAPEnabled on
AuthLDAPAuthoritative on
AuthLDAPURL "ldap://localhost/dc=YourComp?uid?sub?(objectClass=*)"
</Location>;
<Location /AppsDir/dir1>;
require group cn=grp1,dc=YourComp
</Location>;
<Location /AppsDir/dir2>;
require group cn=grp2,dc=YourComp
</Location>;
<Location /AppsDir/dir3>;
require group cn=grp1,dc=YourComp cn=grp3,dc=YourComp
</Location>;
6. 在 httpd.conf 文件中,加入以下行:
include conf/application_auth.conf
一、前言
很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理。
通过多次试验,总结出以下方法,与大家共享。
配置思路:对用户通过“组(groups)”进行管理,对于需要权限控制的目录,
则通过“组”进行控制。
参考: http://www.moocky.net/Manual/apache/mod/mod_auth_ldap.html http://bbs.chinaunix.net/forum/viewtopic.php?t=618651
二、用户需求
1. 用户结构:
YourComp
|- groups (departments)
| |- grp1 (dep1)
| | |- user1
| | \- user2
| |- grp2 (dep2)
| | |- user3
| | \- user4
| \- grp3 (dep3)
| |- user2
| \- user3
\- members (employees)
|- user1
|- user2
|- user3
\- user4
2. 目录权限:
AppsDir
|- Dir1 允许 grp1 访问
|- Dir2 允许 grp2 访问
\- Dir3 允许 grp1, grp3 访问
三、配置步骤
1. 建立 LDAP 基础记录,BaseDn.ldif 文件:
dn: dc=YourComp
dc: YourComp
objectClass: domain
dn: ou=members,dc=YourComp
ou: members
objectClass: organizationalUnit
dn: ou=groups,dc=YourComp
ou: groups
objectClass: organizationalUnit
2. 建立 LDAP 用户记录,UserDn.ldif 文件:
dn:cn=user1,ou=members,dc=YourComp
cn: user1
sn: USER1
uid: user1
userPassword: user1
objectClass: inetOrgPerson
dn:cn=user2,ou=members,dc=YourComp
cn: user2
sn: USER2
uid: user2
userPassword: user2
objectClass: inetOrgPerson
dn:cn=user3,ou=members,dc=YourComp
cn: user3
sn: USER3
uid: user3
userPassword: user3
objectClass: inetOrgPerson
dn:cn=user4,ou=members,dc=YourComp
cn: user4
sn: USER4
uid: user4
userPassword: user4
objectClass: inetOrgPerson
3. 建立 LDAP 用户组记录,GroupDn.ldif 文件:
dn: cn=grp1,ou=groups,dc=YourComp
cn: grp1
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user1,ou=members,dc=YourComp
uniqueMember: cn=user2,ou=members,dc=YourComp
dn: cn=grp2,ou=groups,dc=YourComp
cn: grp2
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user3,ou=members,dc=YourComp
uniqueMember: cn=user4,ou=members,dc=YourComp
dn: cn=grp3,ou=groups,dc=YourComp
cn: grp3
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: cn=user3,ou=members,dc=YourComp
uniqueMember: cn=user2,ou=members,dc=YourComp
4. 运行 ldapadd 添加记录
添加根记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f BaseDn.ldif
添加用户记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f UserDn.ldif
添加用户组记录:
ldapadd -x -D "cn=root,dc=YourComp" -w secret -f GroupDn.ldif
5. 建立 Apache 配置文件,application_auth.conf:
<Location /AppsDir>;
AuthType Basic
AuthName "Please login"
AuthLDAPEnabled on
AuthLDAPAuthoritative on
AuthLDAPURL "ldap://localhost/dc=YourComp?uid?sub?(objectClass=*)"
</Location>;
<Location /AppsDir/dir1>;
require group cn=grp1,dc=YourComp
</Location>;
<Location /AppsDir/dir2>;
require group cn=grp2,dc=YourComp
</Location>;
<Location /AppsDir/dir3>;
require group cn=grp1,dc=YourComp cn=grp3,dc=YourComp
</Location>;
6. 在 httpd.conf 文件中,加入以下行:
include conf/application_auth.conf
相关文章推荐
- APACHE + LDAP 的权限认证配置方法
- Apache 2.0升级2.2权限认证模块配置
- SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)
- (转)巩固Apache配置的安全方法20则
- 使用Apache shiro进行权限管理时如何对同一个URL配置多个角色的或关系
- 虚拟主机用户ftp和apache用户文件互操作权限解决方法
- apache防止多线程下载的配置方法
- Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.6安装配置方法
- APACHE多站点配置方法
- bboss 持久层配置apache dbcp,proxool,c3p0,Druid等数据源方法
- apache虚拟机配置步骤和修改访问端口的方法(虚拟机端口映射)
- apache设置用户认证及配置各种虚拟主机
- linux中查看nginx、apache、php、mysql配置文件路径的方法
- 在apache做代理的服务器配置中集成NTLM安全认证的方法
- Apache 安全配置方法
- 【Shiro】Apache Shiro架构之权限认证(Authorization)
- MongoDB开启权限认证下配置Master和Slave模式
- 手把手教你:Ubuntu+django+apache下配置网页错误OperationalError: Unable to Open Database File 的解决方法
- 详解Nginx与Apache共用80端口的配置方法