使用 Python 一键配置 SVN 账号和属组信息

虽然现在 Git 已经很普及,但是我相信用 SVN 的公司仍然不少,那么作为 SVN 配置管理员的话,就不可避免的涉及到账号维护的问题,今天我们就说说如何通过 Python 脚本实现用户的快捷维护。

如果手动维护用户,一般需要三个步骤:

1.手动添加用户

2.手动设置属组

3.通知用户设置结果

使用脚本后也是三步,但是效率却大大提升:

1.输入用户名

2.输入要设置的组名

3.按下回车,搞定

这里面设置用户和属组是关键点,也是我们需要自动化起来的操作,下面分别给出实现的代码(代码部分建议横屏查看):

这段是创建用户的代码,下面做下说明:

cur_file_dir() 函数功能是获取执行脚本所在路径;

htpasswd.exe 是从 Apache 目录拷贝出来的工具,可以在指定文件添加指定的用户名和密码信息,命令行使用方法「htpasswd.exe -b [密码文件] [用户名] [密码]」,更多使用说明请 Google;

REP_PATH 是我定义的一个全局变量,是我 SVN 仓库的根目录,目录下会存放用户和组设置的配置文件;

htpasswd 文件就是上面说的用户信息存储文件;

pwd 是我通过随机数生成的以 sylan215@ 开头的 13 位密码;

execut_ret() 函数功能是执行指定程序并返回执行结果的,目前就是执行 htpasswd.exe 添加指定用户信息;

接着我们来看看设置组信息的代码:

对这个函数的说明:

本函数功能就是读取组设置文件 groups.conf,检查当前用户是否存在于目标组里面,如果存在直接返回,否则添加用户到组里面;

readfiles() 函数功能是一次读出目标文件的所有内容;

writetofile() 函数功能是把指定内容写入指定文件;

下面是最后的统一调用函数,以及入口函数实现:

说明:

sendcontextmail() 函数是公用的邮件通知函数;

统一处理函数可以处理一个用户添加多个用户组的情况;

入口函数可以处理多个用户同时添加的情况,并且做了无限循环,这样把窗口挂在服务器上可以随取随用了;

上述代码是基于 Python3.4 验证通过的,其他版本应该同理;

上述说明是基于 Windows 进行实现的;

上述实现是基于 SVN 自带的账号和组管理系统的;

如果是基于 Windows 的账号和组设置体系,代码上比这个简单:

以上,如果觉得有用,请帮忙转发分享,不甚感激。

关注公众号,支持作者:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180724G0A9VG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券