电竞比分网-中国电竞赛事及体育赛事平台

分享

True Lies

 ekylin 2006-08-07

Subversion 基于 Apache 使用時用戶權(quán)限的管理

Subversion 項目和用戶權(quán)限配置指南:

一、Subversion 的兩種使用方式:
    1、Apache 站點方式;
    2、本地命令行方式。
    當(dāng)然,我們也可以通過客戶端來進(jìn)行訪問,但那也必須先建立上述
兩種訪問接口。


二、Apache 方式的配置
    第一種方式我們需要安裝 Apache 服務(wù)器程序,同時需要安裝兩個模

塊:
    mod_dav_svn   以及   mod_authz_svn
    他們可以在 Subversion 的站點上找到,請在附錄中查找鏈接。
    將所有需要的模塊安裝之后,我們必須編輯 Apache 的配置文檔,讓

其將我們要用的模塊裝載。一般來說,Apache 的配置文件是 httpd.conf

。位置一般在 Apache 安裝目錄下的 conf 子目錄中。而模塊我們一般放

在 modules 子目錄中。我們在配置文件 httpd.conf 中加入:
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    這樣,Apache 就可以訪問 Subversion 的倉庫了。

三、Apache 方式中項目的發(fā)布
    首先還是要先建立 Subversion 的項目,例如:
    svnadmin create /home/svn/projectA
    之后,在 httpd.conf 文件中加入:
   
       DAV svn
       SVNPath /home/svn/projectA
   
    如果是想建立多個項目的話,可以使用另一種寫法:
   
       DAV svn
       SVNParentPath /home/svn
   
    這樣,凡是在 /home/svn 目錄下的子目錄, Apache 都交給 Subversion

DAV 去處理。用戶即可以通過瀏覽器或者URL訪問 Subversion 管理的項

目了。

四、Apache 方式下的權(quán)限管理
    首先,我們來創(chuàng)建一個用戶 robert。
    由于是第一次創(chuàng)建用戶,我們必須同時創(chuàng)建一個用戶口令文件:
    htpasswd -c authfile robert
    這時,會提示輸入用戶密碼以及確認(rèn)用戶密碼。htpasswd 程序會將

用戶密碼進(jìn)行散列運算后保存在 authfile 中。創(chuàng)建第二個用戶時,我們

就不必輸入 -c 開關(guān)了。
    htpasswd authfile harry

    如果想要刪除某個用戶,我們可以使用下列指令:
    htpasswd -D authfile harry
    這樣,harry 就被從 authfile 中刪除了。

    這時,Subversion 的權(quán)限管理問題就轉(zhuǎn)化為了 Apache 的權(quán)限管理問

題了。我們將前述的目錄配置做一下修改:
   
       DAV svn
       SVNPath /home/svn/projectA
       AuthType Basic
       AuthName "Subversion projectA"
       AuthUserFile /home/svn/projectA/authfile
       Require valid-user
   
    這樣,對 projectA 訪問就必須提供 authfile 中記錄的用戶和正確密碼

才可以進(jìn)行了。

五、Apache 方式下的分組管理
    有時,我們希望能夠?qū)⒍鄠€開發(fā)人員編為一組,使用組的方式來為

項目設(shè)定權(quán)限。比如 projectA 項目只有屬于 groupA 的成員才可以存取

。下面我們來介紹其配置方法。
    這里,我們就要用到 mod_authz_svn 提供的功能了。我們對

httpd.conf 中的目錄配置再做一次修改:
   
       DAV svn
       SVNParentPath /home/svn/
       AuthzSVNAccessFile /home/svn/authz.conf
       AuthType Basic
       AuthName "Subversion projectA"
       AuthUserFile /home/svn/projectA/authfile
       Require valid-user
   
    大家可以注意到,這里使用了另一個配置文件:authz.conf
    他的大致結(jié)構(gòu)如下:
    [groups]
    everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
    groupA = robert, zhangq
    groupB = orcus, tommy
    [projectA:/]
    @groupA = rw
    @everyone = r
    [projectB:/]
    @everyone = r
    @groupB = rw
    Ok, 我想大家應(yīng)該已經(jīng)明白了基于組和項目的管理方法了。:)

附錄:

1、獲取最新安裝包:
    http://summersoft.fay./pub/subversion/latest/whitebox-el-3/bin/

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多