svn authz ldap同步工具

authzync的Python项目详细描述


 ______     __  __     ______   __  __     ______     __  __     __   __     ______
/\  __ \   /\ \/\ \   /\__  _\ /\ \_\ \   /\___  \   /\ \_\ \   /\ "-.\ \   /\  ___\
\ \  __ \  \ \ \_\ \  \/_/\ \/ \ \  __ \  \/_/  /__  \ \____ \  \ \ \-.  \  \ \ \____
 \ \_\ \_\  \ \_____\    \ \_\  \ \_\ \_\   /\_____\  \/\_____\  \ \_\\"\_\ \ \_____\
\/_/\/_/   \/_____/     \/_/   \/_/\/_/   \/_____/   \/_____/   \/_/ \/_/   \/_____/
  • 支持LDAP和本地用户。
  • 跟随嵌套组。
  • 与Python2和3兼容。

安装

git

$ pypi install ldap3
$ git clone https://github.com/rbw0/authzync.git

pypi

$ pypi install authzync

用法示例

authzync.json中指定的LDAP目录执行同步,从local_db.json获取非LDAP权限,并将结果写入svn_authz.txt

$ python authzync.py --config authzync.json --local_db local_db.json --authz svn_authz.txt

配置

authzync配置(–配置) 配置LDAP、映射、分析规则、日志记录等

本地用户(–本地数据库) 可用于为LDAP目录中不存在的用户(即本地用户)设置存储库权限。

工作原理

  1. authzync首先查找与ldap.base_dn中的patterns.access_pattern匹配的组
Note that there’s only one required part in the group name: ^{tt6}$ (RO or RW). This tells authzync which permission to apply to members of this group.
  1. 接下来,根据patterns.section_pattern
  2. 最后,获取成员列表并生成authz文件。

示例

authzync配置

NameValue
ldap.base_dnou=SVN,dc=example,dc=com
mappings.section_namedescription
patterns.access_pattern^svn_.*_(?P<repo_access>RO|RW)$
patterns.section_pattern^(?P<repo_name>.*):(?P<repo_path>/.*)

…和…

ldap目录

Group name^{tt9}$ valueMembers
svn_repo1-trunk_rorepo1:/trunkuser1, user2
svn_repo2-branches_rorepo2:/branchesuser1, user3
svn_repo1_rwrepo1:/user3

将导致

[repo1:/trunk]
user1 = r
user2 = r

[repo2:/branches]
user1 = r
user3 = r

[repo1:/]
user3 = rw

作者

由Robert Wikman于2017年创作

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
禁用Eclipse Java调试器的热代码替换   每次运行jUnit测试时,JavaIntelliJIDEA都会重建整个模块   java如何从InputStream对象读取特定数据?   java我想在每次从recyclerview中单击一个项目时将对象添加到领域数据库   安卓在C和系统中退出(0)的实践。在Java中退出(0)   azure如何将文本文件附加到java中现有的zip文件?   java Spring安全性工作在tomcat服务器(Eclipse)上,但当我将war文件放入tomcat webapp时,Spring安全性就不工作了   java为什么在提供lambda参数时必须捕获异常?   java公共类扩展了JPanel   java如何在SpringAspectJ中使用“declare”指令?   java是编写大量文件的最佳方式   java创建具有多个类依赖项的jar文件   面向对象方法在Java中模拟类分类   java未找到类型为com的返回值的转换器。春天mvc。模型用户]   vb。net在java中解压缩visual basic中压缩的字符串   java为什么我可以更改类中的private属性?   更新Android Studio后java Gradle不工作   图像Java帮助。不规则间隔的幻灯片放映