成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

利用ldap進行windows ad賬號認證
2007-08-20   中國IT實驗室

最近從subversion網站看到apache在處理webdav的bug得到解決(apache 2.2.4),并且apache2.2.X的ldap支持比2.0.X更加穩定,所以決定嘗試在windows XP(or 2003)下安裝subversion+apache使之支持ldap認證.環境: windows XP(or 2003), Windows AD,

  問題是subversion官方網站上下載到的一個基于Apache 2.2.X的2進制包(svn-win32-1.4.4.zip), 在配合apache官方網站下載的2.2.4版本上出錯, 加載ldap模塊后訪問版本庫的時候會發生runtime error.嘗試了幾種組合后,找到能夠正確編譯安裝subversion1.4.4+apache 2.2.4并使之支持ldap 和SSL的方法.

1.下載apache 2.2.4的source code.(httpd-2.2.4-win32-src.zip)
2.下載apache 2.2.4的windows安裝包.(with ssl或者no ssl的都可以).如果下載到with ssl的安裝包, 是可以直接使用的,就是說,不用再自己編譯apache了. 不過,其實后面編譯subversion的時候,還是會編譯apapche, 只是編以后的apapche用不著copy到安裝目錄去替換安裝的文件.
3.下載 subversion1.4.4的windows 安裝包(svn-1.4.4-setup.exe)
4.下載 subversion1.4.4的source code(subversion-1.4.4.zip).
5.編譯環境需要VC6.0以及安裝windows 2003 SDK.否則就沒有的windows下ldap的SDK.
6,編譯過程可以參考subversion source code 目錄下的install文件.按照文件一步一步做就可以了.里面說得很清楚, 我這里再說就是廢話了.
7,編譯好以后, 先安裝前面下載的apache 和 subversion的安裝包,安裝過程在另一篇文章中已經有說明.安裝完以后先不要去配置httpd.conf
8,編譯好subversion以后, 找出同安裝目錄中bin目錄 (如:c:\subversion\bin)下同名的文件覆蓋到bin目錄下.有一些apr的dll文件名字可能略有差異, 后面會多出一個-1(如, libapr.dll, 可能對應的是libapr-1.dll), 也別忘了要覆蓋兩個so文件.
9,這個時候就可以先設定不帶ldap的版本庫訪問, 如果能夠正常工作, 那么系統就算成功了.
10,設置ldap.

設置ldap的時候, 最好能先用一些ldap查看工具瀏覽一下你的windows domain ,以確定baseDN等等這些基本信息.一個比較好的工具就是LDAPbrowser.用它可以瀏覽Domain里面的LDAP對象.

11 httpd.conf的設置

LoadModule ssl_module modules/mod_ssl.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_svn_module "C:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Subversion/bin/mod_authz_svn.so"
…………
Include C:/Apache/Apache22/conf/extra/httpd-ssl.conf
…………
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600

<Location /repos>
DAV svn
SVNParentPath c:/repos
AuthBasicProvider ldap file
AuthType Basic
AuthzLDAPAuthoritative off

AuthName "Subversion repository"

AuthLDAPURL "ldap://yourIP:389/dc=nnn,dc=com?sAMAccountName?sub?(objectClass=*)" NONE
AuthLDAPBindDN "someone@nnn.com"
AuthLDAPBindPassword 111111
AuthUserFile c:/repos/passwordfile
AuthzSVNAccessFile c:/repos/authz
# Satisfy Any
Require valid-user
SSLRequireSSL
</Location>


下面逐個說明內容
11.1
LoadModule ssl_module modules/mod_ssl.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_svn_module "C:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Subversion/bin/mod_authz_svn.so"

加載模塊, mod_ssl當然是用來支持https通信方式的. Mod_ldap以及mod_authnz_ldap是用來提供LDAP認證必須的模塊.

最后兩個模塊是Subversion的模塊.

11.2
Include C:/Apache/Apache22/conf/extra/httpd-ssl.conf
在httpd.conf里面找到這一行把前面的”#”注釋號取消,后面會講httpd-ssl.conf的配置.

11.3
LDAPSharedCacheSize 200000
LDAPCacheEntries 1024
LDAPCacheTTL 600
LDAPOpCacheEntries 1024
LDAPOpCacheTTL 600
這些設置來源于apache的文檔,照抄的

11.4
<Location /repos>
DAV svn
SVNParentPath c:/repos #版本庫所在位置
AuthBasicProvider ldap file #支持ldap和密碼文件混合認證,支持密碼文件的目的是可以建立非ldap, 僅訪問版本庫的賬號
AuthType Basic
AuthzLDAPAuthoritative off #在ldap找不到賬號的情況下可以使用其它的認證方式(如,密碼文件)

AuthName "Subversion repository"

AuthLDAPURL "ldap://yourIP:389/dc=nnn,dc=com?sAMAccountName?sub?(objectClass=*)" NONE #這是你的ldap的設置,使用windows ad作為ldap庫, yourIP是DC的地址
AuthLDAPBindDN "someone@nnn.com" #有讀權限的AD內用戶賬號
AuthLDAPBindPassword 111111 #該賬號的密碼
AuthUserFile c:/repos/passwordfile #密碼文件
AuthzSVNAccessFile c:/repos/authz SVN的權限控制文件.
# Satisfy Any
Require valid-user
SSLRequireSSL
</Location>

12 httpd-SSL.conf
Httpd 2.2.X以后的conf文件是模塊化的,很多東西提取出來了,根據前面這句 Include C:/Apache/Apache22/conf/extra/httpd-ssl.conf ,我們需要編輯相應的文件主要編輯2個地方
一個是 SSLCertificateFile 標記, 后面跟SERVER.crt的路徑,另一個是 SSLCertificateKeyFile 標記, 后面跟 server.key 的路徑.

設置好以上數據, 可以重新啟動httpd了.

13.
c:/repos/authz 文件內的賬號名字要和 sAMAccountName 名字相同。

TODO:想辦法使SVN的權限多樣化,不再是只有rw.

熱詞搜索:

上一篇:安全中的兩難境地
下一篇:如何修復受損的硬盤主引導記錄和引導區

分享到: 收藏
主站蜘蛛池模板: 王音棋的个人简历| cetv3中国教育电视台直播| 王艺潼| 三年电影免费高清完整版| 公民的基本权利和义务教学设计 | 沈敏| 西藏卫视| 2018年党课主题及内容| 蒲谷英的功效与作用| 南通紫琅音乐节| 热天午后| 那年秋天| 影楼ps后期修片的软件| 欠条怎么写才具有法律作用| 乡村女教师 电影| 《窃视者》电影免费观看美国| 周杰伦雨下一整晚歌词| 色,戒在线观看| 张家界旅游攻略自由行攻略| 舞男| 白雪公主和七个小矮人的原文| 丰满美女| 青草国产视频| 人世间演员表| 白上之黑| 李采潭龙谷| 书剑恩仇录演员表| 易烊千玺是哪里人| 西湖地图| 内蒙古电视台| 短篇500篇 合集大结局| 墓碑样式图片| 《伪装者》演员| 朱莉安妮| 郭义| 孤战迷城电视剧剧情分集介绍| 电影《斯大林格勒》| 四年级下册绿| 正在行动| 龟兔赛跑的故事视频| 廖亚凡|