ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux Shell脚本生成用户并授权

2022-01-20 21:57:59  阅读:146  来源: 互联网

标签:username Shell sudoers usergroup chmod echo etc Linux 授权


#!/bin/bash

dirpath="/opt/gjoy"
if [ ! -d ${dirpath} ]; then
  mkdir -p ${dirpath}
fi
cd ${dirpath}

pName=$(rpm -qa | grep 'expect')
if [ $? -eq 0 ]; then
       echo "软件包"expect"已经安装"
else
       echo "软件包"expect"没有安装"
	   #使用mkpasswd可以根据自己的定义来随意生成密码
	   yum -y install expect
fi

usergroup="erpgroup" 
username="erpadmin"
usepw=$(mkpasswd -l 15 -d 2 -c 2 -C 2 -s 2)

action="${1}"

case ${action} in
	"create")
		#创建用户组
		groupadd ${usergroup}
		#指定登录目录,创建用户并加入用户组
		useradd -d /home/${username} -m -g ${usergroup} ${username}
		#修改密码
		echo ${usepw} | passwd --stdin ${username}
		#打印账户信息
		echo "username=${username}, usergroup=${usergroup}, password=${usepw}" >> outputpw.txt
		#授权(root 权限)
		chmod -v u+w /etc/sudoers
		sed -i "/root	ALL=(ALL) 	ALL/a\\$username    ALL=(ALL)       NOPASSWD: ALL" /etc/sudoers
		chmod -v u-w /etc/sudoers
		;;
	"delete")
		echo "deleting ${username}"
		userdel -r ${username}
		groupdel ${usergroup}
		chmod -v u+w /etc/sudoers
		sed -i "/\\$username    ALL=(ALL)       NOPASSWD: ALL/d" /etc/sudoers
		chmod -v u-w /etc/sudoers
		rm -rf outputpw.txt
		;;
	*)
		echo "Usage: $0 [create|delete]"
		;;
esac
使用方法
chmod +x adduser.sh

创建用户
./adduser.sh create

删除用户
./adduser.sh delete

生成的用户名和密码会保存到/opt/gjoy/outputpw.txt

标签:username,Shell,sudoers,usergroup,chmod,echo,etc,Linux,授权
来源: https://blog.csdn.net/yfm081616/article/details/122610940

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有