轉載自:https://blog.csdn.net/e421083458/article/details/10339753
目前我們使用svn管理用戶時,主要從庫,組,項目等方面來管理。
首先,我們要有一個svn的管理員用戶,我們是admin,對應在linux上也有一個svnadmin的操作系統用戶。
下面區分說明這兩個用戶,svnadmin是跟資源庫存儲相關的。因爲要跟apache的訪問對應,所以要修改apache中的httpd.conf文件中的
user svnadmin #這是指讓apache以svnadmin這個用戶來訪問svn的系統操作系統上的路徑和文件
group svn #svnadmin所在的linux group
以root用戶做的如下操作和管理:
創建授予svnadmin管理的svn文件管理路徑:
$mkdir /opt/svn
$chown -R svnadmin:svn /opt/svn
以svnadmin用戶登陸:
$su - svnadmin
#創建一個資源庫路徑
#mkdir /opt/svn/repository
#通過svn來創建資源庫
#/usr/local/subversion/bin/svnadmin create/opt/svn/repository #/usr/local/subversion 是我們安裝svn的路徑
到/opt/svn/repository路徑下查看,是否有相應的一堆文件和文件夾產生?沒有,就是沒成功,到網上查原因吧
一般情況下,創建資源庫就夠了,應該是在資源庫中管理項目,而不是一個項目一個資源庫。當然,svn完全允許你這樣來管理。
這裏需要特別說明的是,剛纔我們是創建了一個repository資源庫。
有了資源庫之後,我們就可以通過TortoiseSVN(小烏龜)客戶端在windows上以svn管理員(注意,不是linux用戶svnadmin)用戶,上傳一個項目到repository庫中(爲了下面描述,這裏稱這個項目爲test)。
用戶管理:
用戶管理分爲組管理和用戶管理。
Svn中的用戶驗證也是分爲兩種方式:密碼驗證和訪問權限驗證。
根據我們在apachehttpd.conf中的配置(密碼驗證文件,由AuthUserFile屬性指定的文件,定爲htpasswd文件;及AuthzSVNAccessFile屬性指定的訪問權限文件,定爲authz.conf文件),來配置、增加用戶和管理用戶訪問權限。
增加一個用戶及其密碼:
/usr/local/apache2/bin/htpasswd [–c]/opt/svn/htpasswd admin (ENTER)
說明這裏-c是表示如果/opt/svn/htpasswd指定的文件不存在,則直接創建。否則可以不加-c.
回車之後,會要求輸入密碼。通過這種方式即可實現用戶的添加,可以
more /opt/svn/htpasswd 查看一下里面的用戶及密碼,不過這密碼是經過加密的,如果想用md5加密,也可以加上 –m ,如。/usr/local/apache2/bin/htpasswd [–c]–m /opt/svn/htpasswd admin (ENTER)。
訪問權限配置:
vi /opt/svn/authz.conf
[groups]
admin = admin
test = user1,user2
[/]
@admin = rw
[repository:/test]
@test = rw
說明:
groups是指用戶組。上面的配置說明存在兩個組:admin和test,其中admin組中只有一個用戶admin,test中有兩個用戶user1,user2
[/]
@admin = rw
這段配置表示admin組中的成員對所有的資源庫的根目錄都有讀寫權限,如我們已經創建了一個repository庫,那麼admin組中的成員admin就可以讀寫它的裏面的所有內容,即所有項目。
[repository:/test]
@test = rw
表示test組中的成員僅對repository庫中的test項目有訪問權限。