天天看點

linux svn 權限目錄,linux svn伺服器權限配置

前言

為了更好的管理svn我針對相應的使用者給予了權限,防止亂拷代碼。

第一:使用者的配置

SVN和apache整合的話,使用者可以直接使用htpasswd dav_svn.passwd_file_address USERNAME來配置。

而賬戶的管理可以用dav_svn.authz來配置

前面那個passwd檔案儲存的是使用者的基本資訊,就不列了。而另外那個dav_svn.authz檔案的内容如下:

[xhtml]

[aliases]# joe= /C=XZ/ST=Dessert/L=SnakeCity/O=SnakeOil, Ltd./OU=ResearchInstitute/CN=JoeAverage

[groups]

sendsrt=root,utt1

sendsdeveloper=ttt12

other=seb3

[/]

@sendsrt=rw

* =

[test:/]

@sendrt=rw

ttt12=rw

* =

[utt1:/]

@sendsrt=rw

utt1=rw

* =

[utt1:/testProject]

@sendsdeveloper=rw

實際上,上面的這個文本已經基本說明了使用者權限配置的情況了。[groups]裡面表示的是分組資訊,每個組=使用者

而下面的[/]表示的是整個SVN的所有庫,因為我在apache下面通路的時候的做過别名,是以是http://localhost/svn/

[test:/]表示的就是test這個庫和相對這個庫的根目錄,實際上代表的是http://localhost/svn/test/

[utt1:/testProject]其實utt1這個庫有地方說的就是這裡,http://localhost/svn/utt1/testProject目錄,這裡控制了sendsdeveloper組成員僅對這個目錄具有讀寫權限。不像http://www.subversion.org.cn/bbs/viewthread.php?tid=520這篇文章的作者的血淚經驗,實際上,這樣的目錄設定是通過了我自己的測試的,這個标志代表的是相對于utt1這個版本庫目錄下的testProject目錄,而那位作者有了問題恐怕是在于他自己簽入簽出庫的時候使檔案夾出了問題吧。

權限上,r,w分别表示讀寫,下面那個* = 表示除了上面寫的之外,都沒有任何權限,因為svn的目錄權限也是繼承的,如果不禁的話,父目錄有權限的話,子目錄會自動繼承。另外,這個 *=在一個庫的權限設定裡面放在第一行和最後一行是沒有差別的。

總結:日積月累!