shell实战自动化创建用户,并设置密码

您所在的位置:网站首页 linux命令创建用户并设置密码保护模式 shell实战自动化创建用户,并设置密码

shell实战自动化创建用户,并设置密码

2024-07-13 00:05:47| 来源: 网络整理| 查看: 265

目录

一、主程序

二、程序分析

三、程序实战提升①

 四、程序实战提升②

一、主程序 #!/bin/bash # 创建用户并设置密码的函数 create_user() { local username=$1 local password=$2 if id "$username" &>/dev/null; then echo "用户 $username 已经存在。" else echo "正在创建用户 $username ..." useradd $username echo "$username:$password" | chpasswd echo "已为用户 $username 设置密码。" fi } # 读取输入信息 echo "请输入要创建的用户列表,用逗号隔开:" read user_input # 检查用户输入是否为空 if [ -z "$user_input" ]; then echo "输入错误,未提供任何用户名。" exit 1 fi # 设置通用密码 PASSWORD="xxxxxxxxxxxxxxx" # 分割输入的用户,并为每个用户调用创建函数 IFS=',' read -ra USERS /dev/null 将命令的标准输出和错误输出都重定向到 /dev/null(即丢弃这些输出)。如果用户已存在(if 条件为真),则打印存在信息。如果用户不存在,使用 useradd 命令创建用户,然后通过管道将新密码传递给 chpasswd 命令来设置密码。

脚本的剩余部分:

提示用户输入一系列用户名,用逗号分隔。检查用户输入是否为空,若为空则打印错误信息并退出脚本。设置了一个变量 PASSWORD 存储通用密码 "xxxxxxxxxx"。使用 IFS=',' read -ra USERS /dev/null; then echo "用户 $username 已经存在。" else echo "正在创建用户 $username ..." useradd $username echo "$username:$password" | chpasswd echo "已为用户 $username 设置密码。" fi } # 读取输入信息 echo "请输入要创建的用户列表,用逗号隔开:" read user_input # 检查用户输入是否为空 if [ -z "$user_input" ]; then echo "输入错误,未提供任何用户名。" exit 1 fi # 请求用户输入密码 echo "请输入用户密码(留空将自动生成8位的随机密码):" read -s user_password # 如果用户未输入密码,则生成8位随机密码 if [ -z "$user_password" ]; then user_password=$(pwgen 8 1) echo "未提供密码,将为所有用户使用随机密码:$user_password" fi # 分割输入的用户,并为每个用户调用创建函数 IFS=',' read -ra USERS /dev/null; then echo "pwgen 命令未找到,请先安装 pwgen。" # 判断系统类型并安装 pwgen local os_type=$(uname -s) case "$os_type" in Linux) if [ -f /etc/debian_version ]; then # 基于Debian的系统 sudo apt-get update && sudo apt-get install -y pwgen elif [ -f /etc/redhat-release ]; then # 基于RedHat的系统 sudo yum install -y pwgen else echo "未识别的 Linux 发行版。请手动安装 pwgen。" fi ;; Darwin) # macOS 系统 brew install pwgen ;; *) echo "不支持的操作系统。请手动安装 pwgen。" ;; esac fi } # 生成随机密码的函数 generate_random_password() { ensure_pwgen_installed pwgen 8 1 } # 读取输入信息 echo "请输入要创建的用户列表,用逗号隔开:" read user_input # 检查用户输入是否为空 if [ -z "$user_input" ]; then echo "输入错误,未提供任何用户名。" exit 1 fi # 获取密码 echo "请输入要设置的密码(留空则为每个用户生成随机密码):" read -s user_password # 如果未输入密码则生成随机密码 if [ -z "$user_password" ]; then echo "未输入密码,将为每个用户生成随机密码。" user_password=$(generate_random_password) fi # 分割输入的用户,并为每个用户调用创建函数 IFS=',' read -ra USERS


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭