FreeBSD 14
Sponsored Link

Subversion : アクセス権を設定する2024/09/13

 

[svnserve] を起動している場合の、リポジトリに対するアクセス権の設定です。
([http://] や [file://] でアクセスする場合は無関係)

[1] 例として [/home/svn/repos/project] リポジトリに対するアクセス権を設定します。
root@dlp:~ #
vi /home/svn/repos/project/conf/svnserve.conf
# 9行目 : 匿名アクセスを禁止する場合は追記

[general]
anon-access = none
# 28行目 : コメント解除

password-db = passwd
# 37行目 : コメント解除

authz-db = authz
root@dlp:~ #
vi /home/svn/repos/project/conf/passwd
# ユーザー名とパスワードを設定

[users]
freebsd = password
netbsd = password
openbsd = password
root@dlp:~ #
vi /home/svn/repos/project/conf/authz
# グループと所属ユーザーを定義

[groups]
developer = freebsd,netbsd
# ドキュメントルートに対して [developer] グループに読み書き許可

[/]
@developer = rw
# [trunk] フォルダに対して [openbsd] に読み取り許可

[/trunk]
openbsd = r
[2] 任意のホストから SVN アクセスして設定を確認します。
freebsd@node01:~ $
svn --username freebsd list svn://dlp.srv.world/project

Authentication realm: <svn://dlp.srv.world:3690> 3247b0a6-6571-ef11-b1e8-df8f47688296
Password for 'freebsd': ********   # [1] で設定したパスワード

branches/
tags/
trunk/

freebsd@node01:~ $
echo 'store-plaintext-passwords = no' >> ~/.subversion/servers
freebsd@node01:~ $
mkdir work3

freebsd@node01:~ $
cd work3

freebsd@node01:~/work3 $
svn --username freebsd co svn://dlp.srv.world/project

Authentication realm: <svn://dlp.srv.world:3690> 3247b0a6-6571-ef11-b1e8-df8f47688296
Password for 'freebsd': ********

A    project/branches
A    project/tags
A    project/trunk
Checked out revision 3.

freebsd@node01:~/work3 $
cd project/trunk
# 適当にバージョン管理下の任意のファイル作成/編集後に
# [openbsd] ユーザーで [commit]

freebsd@node01:~/work3/project/trunk $
echo "index.html" > index.html

freebsd@node01:~/work3/project/trunk $
svn add index.html

freebsd@node01:~/work3/project/trunk $
svn --username openbsd ci index.html -m "add new index.html 2024091301"

Authentication realm: <svn://dlp.srv.world:3690> 3247b0a6-6571-ef11-b1e8-df8f47688296
Password for 'openbsd': ********

svn: E170001: Commit failed (details follow):
svn: E170001: Authorization failed
# 設定通り拒否された

# [netbsd] ユーザーで [commit]

freebsd@node01:~/work3/project/trunk $
svn --username netbsd ci index.html -m "add new index.html 2024091301"

Authentication realm: <svn://dlp.srv.world:3690> 3247b0a6-6571-ef11-b1e8-df8f47688296
Password for 'netbsd': ********

Adding         index.html
Transmitting file data .done
Committing transaction...
Committed revision 4.
# 設定通り [commit] できた

freebsd@node01:~/work3/project/trunk $
svn update

freebsd@node01:~/work3/project/trunk $
svn list

index.html
関連コンテンツ