導航:首頁 > 文件類型 > linuxsvn文件夾許可權

linuxsvn文件夾許可權

發布時間:2024-01-24 09:05:19

『壹』 怎麼在linux伺服器上部署svn

1. 安裝SVN伺服器:
檢查是否已安裝
# rpm -qa subversion

安裝SVN伺服器
# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

驗證安裝
# cd /etc/httpd/moles
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so

查看版本
# svnserve --version

2. 代碼庫創建:
安裝完成後要建立SVN庫
# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories

執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。

3. 配置版本庫:
進入上面conf文件夾下,進行配置:
a. 用戶密碼passwd配置:
# vi + passwd //+表示游標放在文件最低端

修改passwd為一下內容:
[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

b. 許可權控制authz配置:
# vi + authz

設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:
[/]
zhoulf=rw //給該用戶訪問所有庫的許可權

[repositories:/project] //repository庫的根目錄許可權
zhoulf=rw
/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/opt/svn;/ 就是指對全部版本庫都具有許可權
repositories:/ 表示對庫repositories的根目錄設置許可權
PS:
* 許可權配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對許可權配置文件的修改立即生效,不必重啟svn。

c. 服務svnserve.con配置:
# vi + svnserve.conf

添加一下內容:

[general]
#匿名訪問的許可權,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫許可權
auth-access=write
#密碼資料庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示里顯示,並且作為憑證緩存的關鍵字
realm=/opt/svn/repositories

這里注意各標簽不能錯,也不能有重復,不然無法連接。

d. 配置防火牆埠(如果需要):
不一定每個人都需要設置,可以先測試後再看是否需要打開埠
# vi /etc/sysconfig/iptables

添加一下內容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存後重啟防火牆
# service iptables restart

4. 查看:
a. 啟動SVN
# svnserve -d -r /opt/svn/repositories

b. 查看SVN進程
# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

c. 檢測SVN埠
# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

5. 停止重啟SVN:
# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 啟動

6. 測試連接:
使用TortoiseSVN進行測試:
1. SVN服務啟動後,需要使用客戶端測試連接:
客戶端連接地址:svn://192.168.15.231;然後,輸入用戶名密碼;
2. 新建一個文件夾,即本地的庫文件夾,右鍵checkout,將會得到一個隱藏文件夾.svn;
3. 在此文件夾中放入項目內容,然後右鍵點擊commit,就可以上傳本地項目了。

『貳』 svn文件夾許可權修改為無權後,同步時不刪除該目錄

如果你的SVN伺服器的用戶ID和許可權管理是基於操作系統用戶的,那麼可以通過設置不同操作系統用戶對各文件夾的許可權來限制
如果你的SVN伺服器的用戶ID和許可權管理是基於Apache的,那麼只能考慮從鉤子程序下手了,研究一下pre-commit這個鉤子吧,這個鉤子是在正式提交操作之前伺服器端自動執行的,你可以編寫這個鉤子,在commit時檢查是否刪除文件夾,如果是則返回錯誤信息。雖然我沒驗證過,但理論上應該可以解決

『叄』 linux svn許可權設置時某個目錄該用戶為只讀許可權,但是在客戶端還是可以checkout

只讀權抄限本來就是允許讀襲取啊,可以checkout、update,只是不能commit

你如果想禁止他checkout,應該設置為他無任何許可權,比如在集成了Apache的SVN環境中,限制user1沒有任何許可權,就在許可權文件對應的文件夾條目下寫上:
user1 =

閱讀全文

與linuxsvn文件夾許可權相關的資料

熱點內容
把excel表格插入word 瀏覽:117
經發e家app忘記密碼怎麼辦 瀏覽:921
goagent教程 瀏覽:344
桌面文件全選按鍵 瀏覽:105
PM2019支持哪些格式文件 瀏覽:272
全拼app現在叫什麼名字 瀏覽:476
win10現在成熟了嗎 瀏覽:727
win10mtp段落無效 瀏覽:862
cbf收銀機用什麼app 瀏覽:336
javascript變數頁面 瀏覽:766
網路相冊淘寶 瀏覽:60
編程拉絲機怎麼樣 瀏覽:897
msdn不是最新版本 瀏覽:749
參加編程比賽學什麼編程好 瀏覽:349
把c盤的桌面文件移走了怎麼辦 瀏覽:949
2025第三代軍用北斗升級版 瀏覽:925
魅藍手勢密碼怎麼弄 瀏覽:509
蘋果store怎麼充值 瀏覽:224
note4應用程序許可設置在哪裡 瀏覽:489
路由器設置沒網路 瀏覽:539

友情鏈接