SVN账号自动化管理(用于生产环境)
一、简介
1.htpassd
htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。生产环境中的SVN账号密码就是通过htpasswd来创建和管理的。
htpsswd命令来源于httpd-tools软件包
[root@centos8 script]#yum provides *bin/htpasswd
Last metadata expiration check: 2:50:17 ago on Thu 29 Jul 2021 07:08:26 AM CST.
httpd-tools-2.4.37-39.module_el8.4.0+778+c970deab.x86_64 : Tools for use with the Apache HTTP Server
Repo : AppStream
Matched from:
Other : *bin/htpasswd
2.SVN环境
配置文件所在路径/data/svn/authfile,该目录下有两个文件,authz是控制用户对SVN目录和文件的权限,passwd是管理账号密码。SVN账号管理主要通过htpasswd命令来修改passwd文件来实现。
二、实现账号自动化管理脚本
[root@centos8 script]#cat svn_user_manage.sh
#!/bin/bash
#
#********************************************************************
#Author: LingXia
#QQ: 1589640561
#Date: 2021-07-28
#FileName: svn_user_manage.sh
#URL: https://blog.csdn.net/weixin_41142408
#Description: SVN Manage script
#Copyright (C): 2021 All rights reserved
#********************************************************************
work_path=/data/svn/authfile/
pwd_path=/data/svn/authfile/passwd
auth_path=/data/svn/authfile/authz
userlist=`cat $pwd_path |cut -d: -f1`
#创建;用户名检查
creat_user(){
while : ;do
read -p "请输入要创建的用户名:" username
[[ "$username" =~ ^[a-z]{
3,30}$ ]] && break || echo "输入有误,请重新输入"
done
#必须要匹配到一模一样