欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

SVN可视化管理iF.SVNAdmin+LDAP认证

发布时间:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SVN可视化管理iF.SVNAdmin+LDAP认证 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

SVN 管理工具有很多种,如 SVNAdmin2.0 、svnWebUI ,这两款界面UI都比较美观,但是当前集成了LDAP 的只有 iF.SVNAdmin 工具,本文讲解如何 iF.SVNAdmin 工具关联 LDAP 环境使用。

前言:环境介绍

软件版本
CentOS7.6
SVN1.7.14
HTTPD2.4.6-97
PHP5.4.16
SVNAdmin1.6.2

一、iF.SVNAdmin

当前环境 SVN 服务端已经安装好,路径为 /data/svn。

1、iF.SVNAdmin 部署

# yum install httpd subversion php php-ldap mod_ldap php-json php-xml php-pdo mod_ssl mod_dav_svn -y# cd /usr/src && wget https://udomain.dl.sourceforge.net/project/ifsvnadmin/svnadmin-1.6.2.zip --no-check-certificate # unzip svnadmin-1.6.2.zip # mv svnadmin-1.6.2 /vaw/www/html/ # chmod -R 777 /var/www/html/svnadmin/data/# chown -R apache:apache /var/www/html/svnadmin/ # chown -R apache:apache /data/svn/ # systemctl enable httpd # systemctl start httpd

2、iF.SVNAdmin 配置

1、Web 界面初始化配置

浏览器输入 http://10.10.1.30:8085/svnadmin/ 进行初始化配置,我当前是把 HTTP 的监听端口改成了 8085。

2、LDAP 配置

3、LDAP 用户和组权限设置

3.1 添加访问路径


3.2 给用户或组添加访问项目权限

3.3 取消用户访问项目权限

4、iF.SVNAdmin 角色划分

当我们启用了 LDAP 之后,记得最少给一个 LDAP 用户设置超级管理员权限,防止初始 admin 账号登出时不能在登录进。
iF.SVNAdmin 可以为 LDAP 用户设置登录进管理系统的权限。我们常用的可能就二个角色,一个超级管理员,一个访问路径管理员。访问路径管理员是给用户授权访问某个项目权限的角色。

二、SVN配置LDAP认证

SVN 通过 Apache 进行代理 HTTP 访问的场景。在这种场景下,SVN 的访问是通过 HTTP ,然后经过 Apache 来认证的,所以只需要在 Apache 上集成 LDAP 的认证即可实现 SVN 的 LDAP 认证。

1、Apache 配置

# cat /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.soLoadModule ldap_module modules/mod_ldap.so LoadModule authnz_ldap_module modules/mod_authnz_ldap.soLoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_user_module moduels/mod_authz_user.so<Location /repos>DAV svnSVNParentPath /data/svn#<LimitExcept GET PROPFIND OPTIONS REPORT>AuthType BasicAuthName "Subversion repository"AuthzSVNAccessFile /data/svn/test/conf/authzAuthBasicProvider ldap #AuthzLDAPAuthoritative on AuthLDAPURL "ldap://10.10.1.30:389/dc=qualitysphere,dc=github,dc=io?uid?sub?(objectclass=*)"AuthLDAPBindDN "cn=admin,dc=qualitysphere,dc=github,dc=io"AuthLDAPBindPassword "123456"Require ldap-user#</LimitExcept> </Location>

2、测试验证

三、总结

  • LDAP 一同步的话,那么原有的本地账号和组都会被清空掉,只剩下 LDAP 中的用户或组。即使你直接在 auth 文件中添加其他用户访问权限然后通过 svn 协议访问,只要一同步,这些配置也都会被清理掉。
  • iF.SVNAdmin 权限管控不够细致,当前访问路径管理员后就能设置所有项目的访问权限,正常我们是希望授权给某一个用户管理某一个项目,这样便于后面去授权项目负责人去管控所属项目权限。
  • 如果您的 LDAP 数据库有超过 1000 个用户和组,但您只收到 1001 个实体,您需要将 PHP 版本更新到 5.4。以前的 PHP 版本不支持从 LDAP 服务器获取超过 1001 个实体。

  • Reference:
    https://blog.csdn.net/qq_25854057/article/details/125296480
    http://svnadmin.insanefactory.com/documentation/#ldap

    总结

    以上是生活随笔为你收集整理的SVN可视化管理iF.SVNAdmin+LDAP认证的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。