Debian 12 bookworm
Sponsored Link

Subversion : Set Access Permission2023/07/21

 

Set Access Permission on SVN repositories. It requires [svnserve] is running.
This setting is not effective to the case you access via [http://] or [file://].

[1] For example, Set Access Permission to [/var/svn/repos/project] repository.
[root@dlp ~]#
vi /var/svn/repos/project/conf/svnserve.conf
# line 9 : add (prohibit anonymous access)

[general]
anon-access = none
# line 28 : uncomment

password-db = passwd
# line 37 : uncomment

authz-db = authz
[root@dlp ~]#
vi /var/svn/repos/project/conf/passwd
# set username and password for this repository

[users]
debian = password
bookworm = password
ubuntu = password
[root@dlp ~]#
vi /var/svn/repos/project/conf/authz
# set groups and users

[groups]
developer = debian,bookworm
# allow read/write on SVN document-root for developer group

[/]
@developer = rw
# allow read on [trunk] folder for ubuntu user

[/trunk]
ubuntu = r
[2] Verify settings to access via SVN to the repository from any remote Hosts.
debian@node01:~$
svn --username debian list svn://dlp.srv.world/repos/project

Authentication realm: <svn://dlp.srv.world:3690> 02ae3c99-e1bc-42d3-9bc3-12f89593ff32
Password for 'debian': ********   # password you set on [1]


-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://dlp.srv.world:3690> 02ae3c99-e1bc-42d3-9bc3-12f89593ff32

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/debian/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
branches/
tags/
trunk/

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

debian@node01:~$
cd work3

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

Authentication realm: <svn://dlp.srv.world:3690> 02ae3c99-e1bc-42d3-9bc3-12f89593ff32
Password for 'debian': ********

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

debian@node01:~/work3$
cd project/trunk
# after creating or editing any files under the repository,
# try to [commit] with [debian] user

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

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

debian@node01:~/work3/project/trunk$
svn --username ubuntu ci index.html -m "add new index.html 2023072101"

Authentication realm: <svn://dlp.srv.world:3690> 02ae3c99-e1bc-42d3-9bc3-12f89593ff32
Password for 'debian': ********

svn: E170001: Commit failed (details follow):
svn: E170001: Authorization failed
# denied normally as settings

# [commit] with [bookworm] user

debian@node01:~/work3/project/trunk$
svn --username bookworm ci index.html -m "add new index.html 2023072101"

Authentication realm: <svn://dlp.srv.world:3690> 02ae3c99-e1bc-42d3-9bc3-12f89593ff32
Password for 'jammy': ********

Adding         index.html
Transmitting file data .done
Committing transaction...
Committed revision 4.
# done normally as settings

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

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

index.html
test.txt
testfile.txt
Matched Content