2012-11-21 28 views
1

在我剛剛安裝在我的本地網絡SVN服務器。爲此我跟着這link。但我的問題是無論我在我的/etc/svn-auth-conf文件中創建的用戶是否只允許進行結賬和提交,實際上此用戶都具有所有權限。我如何限制他們的權限?權限沒有被設置爲SVN倉庫用戶

這裏是我的/etc/httpd/conf.d/subversion.conf文件

LoadModule dav_svn_module  modules/mod_dav_svn.so 
LoadModule authz_svn_module modules/mod_authz_svn.so 

<Location /repos> 
    DAV svn 
    SVNParentPath /var/www/html/svn 
    AuthType Basic 
    AuthName "Subversion repos" 
    AuthUserFile /etc/svn-auth-conf 
    Require valid-user 
</Location> 

另一件事是,當我使用svnadmin命令,然後多種不同的配置文件在庫中創建文件夾confauthz,passwd,svnserve.conf創建任何存儲庫。我跟着this link設置權限。

那麼,如何設置特定的權限給特定的用戶?


user1=All permissions 
user2=read 
other=none 
+0

請不要發表您在多個網站上的問題:http://unix.stackexchange.com/問題/ 56272/permission-is-not-being-set-to-the-svn-repository-users – Matteo

+0

好了吧! – juned

+0

unix站點問題消失了。這個問題應該是保持開放的問題 – MatthewMartin

回答

2

對於通過HTTP訪問,您必須在您的authz文件

這樣在每個文件夾的基礎permisions:

[/] 
#rw is read-write, r is read only, and empty is none 
user1 = rw 
user2 = r 
* = 

您還可以定義用戶組在[基]部分,以及使用這樣的@group_name分配權限:

[groups] 
dev = jdoe,user3 
qa = user4,user5 

[/some/other/path] 
@dev = rw 
@qa = r 
* = 

編輯 最後,你的apache的conf缺少的重要組成部分,它必須包括AuthzSVNAccessFile指示,喜歡的東西:

<Location /project/src> 
      DAV svn 
      SVNPath /var/svn/project 
      AuthzSVNAccessFile /var/svn/project/conf/authz 
      AuthType Basic 
      AuthName "Project source repository" 
      AuthUserFile /var/svn/.dav_svn.passwd 
      Require valid-user 
    </Location> 
+0

我已經在'authz' [file](http://pastie.org/5410366)添加了這個,我剛剛在不同的服務器上籤出。當我試圖編輯文件並提交時,它只是提示我輸入用戶名和密碼併成功提交。這是用戶未在'authz'文件中定義的。 – juned

+0

我相信你應該更新apache的conf來告訴SVN模塊使用這個文件。看看SVN官方手冊。這是詳細描述你需要做什麼。 –

+0

Thaks @AdrianShum你能爲我提供適當的鏈接嗎?我重新啓動了Apache服務器2-3次 – juned

0

使用

chown -R groupname:groupname folder 
chmod -R <permission> directory-name/ 

權限可以766爲用戶讀寫和執行,併爲他人和組讀寫

檢查手冊頁更多信息

設置用戶和讀取或寫限制

+0

你能舉個例子來做這個嗎?我沒有給這個知識庫的所有權限。 – juned

+0

我已經修改請讓我知道 –

+0

謝謝,但我仍然能夠編輯和提交您使用HTTP @juned訪問庫或文件:( – juned