APACHE + LDAP 的权限认证配置方法
原文地址: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 的权限认证配置方法的更多相关文章
- Nginx用户认证配置方法详解(域名/目录)
Nginx超级强大它可以单独为一个域名设置用户认证,方法也很简单我们只要生成用户认证的用户名和密码,然后再Nginx添加auth认证配置即可 Nginx可以为某一个域名单独加用户认证,具体做法如下: ...
- php程序Apache,IIS 7,nginx 伪静态配置方法总汇
一,Apache 环境伪静态配置方法: 在根目录下放置一个.htaccess 文件,内容如下: <IfModule mod_rewrite.c> Options +FollowSymlin ...
- SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 给已经编译运行的Apache增加mod_proxy模块的配置方法
在Linux系统下,需要给已经编译运行的Apache增加mod_proxy模块,可以按照如下方法配置. 具体配置步骤如下: 1. 首先定位到Apache源码的 proxy目录 # cd /root/s ...
- Apache服务器SSL双向认证配置
以Win32版Apache与OpenSSL为例,介绍从创建数字证书到Apache配置的整个过程,希望对读者有所帮助. Apache是目前最流行的WEB服务器之一,借助OpenSSL库,我们可以在Apa ...
- PHP环境(apache,PHP,Mysql)详细配置方法
1.安装Apache ,直接运行安装即可,我们将其安装到D:\PHP\Apache/目录下 2.将PHP压缩包解压内容放到指定目录(例如:D:\PHP\Php5,将目录中的PHP.iniDevelop ...
- csharp:引入app.manifest,程序在win7下以管理员权限运行配置方法
https://msdn.microsoft.com/en-us/library/windows/desktop/hh848036(v=vs.85).aspx https://msdn.microso ...
- apache、nginx、tomcat配置方法
https://www.cnblogs.com/chenmh/p/5121830.html
- Linux Apache虚拟主机配置方法
apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ...
随机推荐
- python开发_shelve_完整版_博主推荐
''' python中的shelve模块,可以提供一些简单的数据操作 他和python中的dbm很相似. 区别如下: 都是以键值对的形式保存数据,不过在shelve模块中, key必须为字符串,而值可 ...
- Codeforces Beta Round #6 (Div. 2 Only) B. President's Office 水题
B. President's Office 题目连接: http://codeforces.com/contest/6/problem/B Description President of Berla ...
- linux命令: Netstat
在Internet RFC标准中,Netstat的定义是: Netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告. Netstat是控 ...
- Java Web UI框架
1.Aliceui Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式. git ...
- Current mirror drives multiple LEDs from a low supply voltage
Driving LEDs at a regulated current from low supply voltages can be difficult because minimal overhe ...
- text段,data段,bss段,堆和栈
转载:http://blog.chinaunix.net/uid-29025972-id-3874376.html 程序编译后生成的目标文件至少含有三个段,分别为:.text..data和.bss ...
- linux下启动tomcat出现“This file is needed to run this program ”
使用sh startup.sh启动tomcat 出现This file is needed to run this program 原因.sh文件都不是可执行文件,于是找到命令: chmod +x * ...
- 使用cwrsync做服务器文件夹同步
首先要下载cwRsync的服务端和客户端软件(4.05免费版),下载地址如下: https://www.itefix.no/i2/cwrsync 具体的配置过程和遇到的问题可参考: http://ww ...
- 最好的 NMAP 扫描策略
# 适用所有大小网络最好的 nmap 扫描策略 # 主机发现,生成存活主机列表 $ nmap -sn -T4 -oG Discovery.gnmap 192.168.56.0/24 $ grep &q ...
- ABC定制视图导航控制器
ABCustomUINavigationController ABC定制视图导航控制器 Subclass of UINavigationController for overwriting ...