IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Shell脚本分享之自动创建SVN用户 -> 正文阅读

[系统运维]Shell脚本分享之自动创建SVN用户

作者:recommend-item-box type_blog clearfix

工作中经常会给新入职的开发人员配置svn的用户,虽然步骤简单,但是这种重复性的工作实在是做的要吐了,所以还是使用脚本来提高生产力,也为我们节省更多时间来做其他事情。

使用这个脚本需要提前配置好svn配置文件路径、svnserve路径、新用户默认密码以及管理员用户密码、svn根目录URL。执行脚本时输入用户名以及授权路径即可完成用户创建。

#!/bin/bash
# 默认密码
password="123456"
# svnserve路径
servedir="/home/svn/project"
# 配置文件路径
confdir="/home/svn/project/conf"
# 用户名
read -r -p "请输入用户名:" uname
# 判断用户是否存在
if grep "${uname}" ${confdir}/passwd; then
    echo "用户${uname}已存在"
    exit
fi
# 显示svn目录树,注意,此处需要配置svn管理员用户名:密码(admin:admin123)、根目录地址(http://localhost/svn/)
curl -u "admin:admin123" http://localhost/svn/ 2>/dev/null | grep "li" | awk -F '/\">|/</' 'BEGIN {print "/---"} {print "  |---/" $2}' >svntree.out
echo -e "当前SVN目录树为:\n$(cat svntree.out)\n"
read -r -p "请为新用户指定目录,如指定需访问http://192.168.64.3/svn/SunDS,则输入:/SunDS:" authurl
# 判断目录是否存在
if ! grep "${authurl}" svntree.out; then
    echo "${authurl}目录不存在"
    exit
fi

#检查authz中是否配置目录,如果未配置,则创建目录
#if ! grep -E "\[$authurl\]" ${confdir}/authz; then
#    echo "\[$authurl\]" >>${confdir}/authz
#fi

##创建svn账号
# 配置webpasswd
# -b Use the password from the command line rather than prompting for it.
# -n Don't update file; display results on stdout.
htpasswd -b -n "${uname}" ${password} >>${confdir}/webpasswd
# 配置passwd
echo "${uname}=$password" >>${confdir}/passwd
# 配置authz,用户权限默认rw
grep -E -n "\[$authurl\]" ${confdir}/authz | awk -F: '{print $1}' | xargs -I{} sed -i "{}a ${uname}=rw" ${confdir}/authz
# 重启svn
# svnpid=$(ps -ef | grep svnserve | grep -v grep | awk '{print $2}')
pgrep svnserve | xargs -i kill -15 {}
svnserve -d -r $servedir
echo "创建用户成功!"

欢迎大家关注我,更多Linux干货等着你!

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:47:18  更:2021-09-14 13:47:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:40:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码