在具有 SSH 访问权限的 FreeBSD 服务器上设置 svn

0 freebsd svn

我对此不太熟悉,一般来说也不是网络管理员,但我试图在本地服务器上设置对 svn 存储库的多用户访问。

到目前为止,我已经通过以下方式安装了 subversion

cd /usr/ports/devel/subversion
make install clean
Run Code Online (Sandbox Code Playgroud)

现在我正在研究如何配置和设置存储库和访问权限。我查看了非常有用的 SVN Book,但是我正在寻找任何特定于 FreeBSD 的示例/教程。

必须通过 SSH 访问存储库。

任何意见,将不胜感激。

谢谢。

scr*_*ble 5

确保在启用 svnserve 包装器的情况下安装端口。

注意:大多数(如果不是全部)以下命令必须以 root 身份执行。

创建一个 svn 用户组并添加您想要访问它的所有 unix 帐户:

pw groupadd <group>
pw groupmod <group> -m <user>[,<user2>,...]
Run Code Online (Sandbox Code Playgroud)

然后,创建您的存储库:

svnadmin create /path/to/repos
Run Code Online (Sandbox Code Playgroud)

将其所有权更改为组:

chown -R :svngroup /path/to/repos
Run Code Online (Sandbox Code Playgroud)

或者,删除“其他”用户的读取访问权限:

chmod -R o-rwx /path/to/repos
Run Code Online (Sandbox Code Playgroud)

并更改权限以允许组成员对存储库 db 进行粘性(仅附加)访问:

find /path/to/repos/db | xargs chmod g+w
find /path/to/repos/db -type d | xargs chmod g+s
Run Code Online (Sandbox Code Playgroud)

通过 ssh 以具有 svngroup 成员身份的用户身份测试读取访问权限:

svn info svn+ssh://user@host/path/to/repos
Run Code Online (Sandbox Code Playgroud)

通过创建您的主干目录(或您想调用的任何名称)来测试写访问:

svn mkdir svn+ssh://user@host/path/to/repos/trunk
Run Code Online (Sandbox Code Playgroud)

如果您不使用密钥交换,则每个 svn 命令可能会多次要求您输入 ssh 密码。