大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 SVN配置權(quán)限詳解

SVN配置權(quán)限詳解

更新時(shí)間:2021-12-21 11:23:16 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3785次

SVN權(quán)限詳細(xì)配置

有不少剛開始學(xué)習(xí)Java的小伙伴對(duì)SVN的權(quán)限配置還不是很了解,本章將詳細(xì)介紹SVN權(quán)限配置涉及的兩個(gè)配置文件, svnserve.conf 和 authz.conf,通過對(duì)配置逐行的描述,來闡明其中的一些細(xì)節(jié)含義。

這里首先要注意一點(diǎn),任何配置文件的有效配置行,都 **不允許存在前置空格** ,否則程序可能會(huì)出錯(cuò),給你一個(gè) ``Option expected`` 的提示。也就是說,如果你直接從本文的純文本格式中拷貝了相關(guān)的配置行過去,需要手動(dòng)將前置的4個(gè)空格全部刪除。當(dāng)然了,如果你覺得一下子要?jiǎng)h除好多行的同樣數(shù)目的前置空格是一件苦差使,那么也許 UltraEdit 的“Column Mode”編輯模式,可以給你很大幫助。

1.svnserve.conf

``SVN\conf\svnserve.conf`` 文件,是 svnserve.exe 這個(gè)服務(wù)器進(jìn)程的配置文件,我們逐行解釋如下。

首先,我們告訴 svnserve.exe,用戶名與密碼放在passwd.conf 文件下。當(dāng)然,你可以改成任意的有效文件名,比如默認(rèn)的就是 passwd:

password-db = passwd.conf

接下來這兩行的意思,是說只允許經(jīng)過驗(yàn)證的用戶,方可訪問代碼庫。那么哪些是“經(jīng)過驗(yàn)證的”用戶呢?噢,當(dāng)然,就是前面說那些在 passwd.conf 文件里面持有用戶名密碼的家伙。這兩行的等號(hào)后面,目前只允許read write none 三種值,你如果想實(shí)現(xiàn)一些特殊的值,比如說“read-once”之類的,建議你自己動(dòng)手改源代碼,反正它也是自由軟件:

anon-access = none
auth-access = write

接下來就是最關(guān)鍵的一句呢,它告訴 svnserve.exe,項(xiàng)目目錄訪問權(quán)限的相關(guān)配置是放在 authz.conf 文件里:

authz-db = authz.conf

當(dāng)然,svn 1.3.2 引入本功能的時(shí)候,系統(tǒng)默認(rèn)使用 authz 而不是 authz.conf 作為配置文件。

上述的 passwd.conf 和 authz.conf 兩個(gè)文件也可以作為多個(gè)代碼庫共享使用,我們只要將它們放在公共目錄下,比如說放在 ``D:\svn`` 目錄下,然后在每個(gè)代碼庫的 svnserve.conf 文件中,使用如下語句:

password-db = ..\..\passwd.conf
authz-db = ..\..\authz.conf

或者

password-db = ../../passwd.conf
authz-db = ../../authz.conf

這樣就可以讓多個(gè)代碼庫共享同一個(gè)用戶密碼、目錄控制配置文件,這在有些情況下是非常方便的。

2.authz.conf 之用戶分組

``SVN\conf\authz.conf``文件的配置段,可以分為兩類, ``[group]`` 是一類,里面放置著所有用戶分組信息。其余以 ``[SVN:/]`` 開頭的是另外一類,每一段就是對(duì)應(yīng)著項(xiàng)目的一個(gè)目錄,其目錄相關(guān)權(quán)限,就在此段內(nèi)設(shè)置。

首先,我們將人員分組管理,以便以后由于人員變動(dòng)而需要重新設(shè)置權(quán)限時(shí)候,盡量少改動(dòng)?xùn)|西。我們一共設(shè)置了5個(gè)用戶分組,分組名稱統(tǒng)一采用 ``g_`` 前綴,以方便識(shí)別。當(dāng)然了,分組成員之間采用逗號(hào)隔開:

[groups]
# 任何想要查看所有文檔的非本部門人士
g_vip = morson
# 經(jīng)理
g_manager = michael
# 北京辦人員
g_beijing = scofield
# 上海辦人員
g_shanghai = lincon
# 總部一般員工
g_headquarters = rory, linda
# 小秘,撰寫文檔
g_docs = linda

注意到?jīng)]有, linda 這個(gè)帳號(hào)同時(shí)存在“總部”和“文檔員”兩個(gè)分組里面,這可不是我老眼昏花寫錯(cuò)了,是因?yàn)?Subversion 允許我這樣設(shè)置。它意味著,這個(gè)家伙所擁有的權(quán)限,將會(huì)比他的同事rory 要多一些,這樣的確很方便。具體多了哪些呢?請(qǐng)往下看!

3.authz.conf 之項(xiàng)目根目錄

接著,我們對(duì)項(xiàng)目根目錄做了限制,該目錄只允許SVN事業(yè)部的經(jīng)理才能修改,其他人都只能眼巴巴的看著:

[SVN:/]
@g_manager = rw
* = r

- ``[SVN:/]`` 表示這個(gè)目錄結(jié)構(gòu)的相對(duì)根節(jié)點(diǎn),或者說是 SVN 項(xiàng)目的根目錄。其中的SVN 字樣,其實(shí)就是代碼庫的名稱,即前面用 svnadmin create命令創(chuàng)建出來的那個(gè) SVN。

- 這里的 ``@`` 表示接下來的是一個(gè)組名,不是用戶名。因?yàn)槟壳?g_manager 組里面只有一個(gè) michael,你當(dāng)然也可以將 ``@g_manager = rw`` 這一行替換成 ``michael = rw``,而表達(dá)的意義完全一樣。

- ``*`` 表示“除了上面提到的那些人之外的其余所有人”,也就是“除了部門經(jīng)理外的其他所有人”,當(dāng)然也包括總經(jīng)理那個(gè)怪老頭

- ``* = r`` 則表示“那些人只能讀,不能寫”

4.authz.conf 之項(xiàng)目子目錄

然后,我們要給總部人員開放日志目錄的讀寫權(quán)限:

[SVN:/diary/headquarters]
@g_manager = rw
@g_headquarters = rw
@g_vip = r
* =

這個(gè)子目錄的設(shè)置有些特色,因?yàn)閺男枨蠓治鲋形覀冎溃@個(gè)子目錄的權(quán)限范圍要比其父目錄小,它不允許除指定了的之外其他任何人訪問。在這段設(shè)置中,我們需要注意以下幾點(diǎn):

設(shè)計(jì)svn的家伙們,大部分都是在類 unix 平臺(tái)下工作,所以他們總喜歡使用 ``/`` 來標(biāo)識(shí)子目錄,而完全忽視在 MS Windows 下是用 ``\`` 來做同樣的事情。所以這兒,為了表示``diary\headquarters`` 這個(gè)目錄,我們必須使用 ``[SVN:/diary/headquarters]``這樣的格式。當(dāng)然如果你一定要用 ``\`` ,那么唯一的結(jié)果就是,Subversion 會(huì)將你的這部分設(shè)置置之不理,全當(dāng)沒看到。

這里最后一行的 ``* =`` 表示,除了經(jīng)理、總部人員、特別人士之外,任何人都被禁止訪問本目錄。這一行是否可以省略呢?不行,因?yàn)?**權(quán)限具備繼承性** ,子目錄會(huì)自動(dòng)擁有父目錄的權(quán)限。若沒有這一行,則所有帳號(hào)都可以讀取 ``/diary/headquarters`` 目錄下的文件。因?yàn)殡m然我們并沒有設(shè)置這個(gè)目錄的父目錄權(quán)限,可是默認(rèn)的規(guī)則使得 ``/diary`` 目錄的權(quán)限與根目錄完全一樣,從而讓其余帳號(hào)獲得對(duì)``/diary/headquarters`` 目錄的 r 權(quán)限。所以簡(jiǎn)單來說, ``* =`` 這一句的目的,就是割斷權(quán)限繼承性,使得管理員可以定制某個(gè)目錄及其子目錄的權(quán)限,從而完全避開其父目錄權(quán)限設(shè)置的影響。

之所以這兒需要將 ``@g_vip = r`` 一句加上,就是因?yàn)榇嬖谏鲜鲞@個(gè)解釋。如果說你沒有明確地給總經(jīng)理授予讀的權(quán)力,則他會(huì)和其他人一樣,被 ``* =`` 給排除在外。

如果眾位看官中間,有誰玩過防火墻配置的話,可能會(huì)感覺上述的配置很熟悉。不過這里有一點(diǎn)與防火墻配置不一樣,那就是各個(gè)配置行之間,沒有 **先后順序** 一說。也就是說,如果將本段配置的 ``* =`` 這一行挪到最前面,完全不影響整個(gè)配置的最終效果。

接下來我們看看這一段:

[SVN:/ref]
@g_manager = rw
@g_docs = rw
* = r

這里的主要看點(diǎn),就是 g_docs 組里面包含了一個(gè) linda 帳號(hào),她也同時(shí)在 g_headquarters 組里面出現(xiàn),這就意味著, linda 將具備對(duì) ``/ref`` 和 ``diary\headquarters`` 兩個(gè)目錄的讀寫權(quán)限。

6.authz.conf 之目錄表示法

在前面的描述中,我們都采用 ``[repos:/some/dir]`` 這樣的格式來表示項(xiàng)目的某個(gè)目錄,實(shí)際上,Subversion允許你采用 ```[/some/dir]`` 這樣的格式,即不指定代碼庫的方式來表示目錄,此時(shí)的目錄就匹配所有項(xiàng)目。

對(duì)于使用 svnserve 的用戶來說,只有當(dāng) svnserve 運(yùn)行的時(shí)候使用了 ``-r`` 參數(shù),并且讓多個(gè)代碼庫共享同一個(gè)目錄權(quán)限文件(即 authz.conf 或 authz)時(shí),不指明代碼庫名稱才有可能惹麻煩。一般情況下,我們對(duì)每個(gè)代碼庫都會(huì)獨(dú)立使用配置文件,畢竟每個(gè)項(xiàng)目的目錄結(jié)構(gòu),都有很大不同,混在一起意義不大。因此一般來說,為簡(jiǎn)潔起見,都可以不指明代碼庫名稱。本文全都指明了代碼庫名稱,主要是為了將來擴(kuò)展成同一個(gè)配置文件,以方便配合 Apache 服務(wù)器。

對(duì)于使用 Apache 的用戶來說,它們二者可有著很大的不同,因?yàn)榇藭r(shí)往往習(xí)慣于使用一個(gè)公共的目錄權(quán)限配置文件。如果你使用了 SVNParentPath 指令,則指定版本庫的名字是很重要的,因?yàn)榧偃裟闶褂煤笳撸敲?``[/some/dir]`` 部分就會(huì)與所有代碼庫項(xiàng)目的``[/some/dir]`` 目錄匹配。如果你使用 SVNPath 指令,則這兩種表示方式就沒有什么區(qū)別了,畢竟只有一個(gè)版本庫。大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的內(nèi)容更加豐富,希望對(duì)大家能夠有所幫助哦。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 四虎成人欧美精品在永久在线 | 久久久久国产精品免费 | 国产精品视频久久 | 日本精品99 | 免费播放一区二区三区 | 福利视频专区 | 日日日视频 | 99热久这里都是精品小草 | 伊人久久国产精品 | 日韩成人精品 | 免费看成人毛片日本久久 | 久久爱www| 亚洲精品国产五月色 | 五月天在线婷婷 | 久久综合久久精品 | 一本色道久久88加勒比—综合 | 久久精品视 | 国产精品美女一区二区 | 中国大陆一级毛片 免费 | 亚洲美色综合天天久久综合精品 | 成 人 免费 黄 色 视频 | 亚洲综合精品一区二区三区中文 | 毛片一级毛片 | 亚洲精品一区久久狠狠欧美 | 欧美胖老妇 | 国产精品久久久久国产精品 | 国产人成精品免费视频 | 亚洲精品天堂自在久久77 | 在线播放 亚洲 | 国产成人夜间影院在线观看 | 96影院| 久久免费在线观看 | 国产欧美精品一区二区三区-老狼 | 国产三级精品三级男人的天堂 | 狠狠色噜噜综合社区 | 韩国一大片a毛片 | 有色视频在线观看 | 四虎www成人影院 | 亚洲专区区免费 | 蜜桃日本一道无卡不码高清 | 亚洲精品国产精品乱码不97 |