create_user.sh脚本练习

编写一个脚本create_user.sh  批量新建用户和设置密码
    ./create_user.sh  changsha  20  通过第1个位置变量传递用户名前缀 ,第2个位置变量传递创建多少个用户
    随机产生用户的密码,要求满足密码复杂性要求,长度为15 ,密码必须包含数字,大写字母,小写字母,特殊符号
    将用户名和密码都保存到文件user_passwd.txt文件里
    新建用户的时候先判断用户是否存在,如果存在就不新建用户,只是修改用户的密码,要求满足密码复杂性要求,长度为15 ,密码必须包含数字,大写字母,小写字母,特殊符号

 bash脚本create_user.sh,它接受两个参数:用户名前缀和要创建的用户数量。该脚本会检查用户是否已存在,如果存在,则仅更新密码;如果不存在,则创建新用户并设置密码。密码满足复杂性要求,并保存用户名和密码到user_passwd.txt文件中。

#!/bin/bash  
  
# 检查参数数量  
if [ $# -ne 2 ]; then  
    echo "Usage: $0 <username_prefix> <number_of_users>"  
    exit 1  
fi  
  
prefix=$1  
num_users=$2  
user_passwd_file="user_passwd.txt"  
  
# 生成符合要求的密码  
generate_password() {  
    cat /dev/urandom | tr -dc 'A-Za-z0-9!@#$%^&*' | fold -w 15 | head -n 1  
}  
  
# 检查用户是否存在,存在则更新密码,不存在则创建用户  
create_or_update_user() {  
    local username=$1  
    local password=$2  
  
    if id "$username" &>/dev/null; then  
        # 用户存在,更新密码  
        echo "User $username exists, updating password."  
        echo "$username:$password" | chpasswd  
    else  
        # 用户不存在,创建用户  
        echo "User $username does not exist, creating user."  
        useradd "$username"  
        echo "$username:$password" | chpasswd  
    fi  
  
    # 保存用户名和密码到文件  
    echo "$username:$password" >> "$user_passwd_file"  
}  
  
# 主逻辑  
for (( i=1; i<=num_users; i++ ))  
do  
    username="${prefix}${i}"  
    password=$(generate_password)  
    create_or_update_user "$username" "$password"  
done  
  
echo "User creation and password update completed. Details saved to $user_passwd_file."

 要使用此脚本,请确保有权限创建用户和修改密码(通常需要root权限)。将脚本保存到文件create_user.sh,赋予执行权限:

chmod +x create_user.sh

然后以root用户身份运行脚本:

sudo ./create_user.sh changsha 20

 这将创建20个用户,用户名以changsha为前缀,密码随机生成并满足复杂性要求,用户名和密码将被保存到user_passwd.txt文件中。

 

<think>我们正在Linux环境下操作,需要将一段脚本保存为create_at_task.sh文件,并赋予其可执行权限。步骤:1.创建脚本文件:可以使用文本编辑器(如vi,nano)或直接使用重定向方式创建文件。2.脚本内容写入文件。3.使用chmod命令赋予可执行权限。假设脚本内容如下:#!/bin/bashcurrent_time=$(date+"%Y-%m-%d%H:%M:%S")echo"当前时间为:$current_time">/tmp/at_test.txt下面将详细说明如何操作。</think> ### 保存脚本为 `create_at_task.sh` 并设置可执行权限 在 Linux 中创建脚本文件并设置权限的操作步骤如下: #### 📝 1. 创建脚本文件 使用文本编辑器或重定向创建文件: ```bash # 使用 nano 编辑器(推荐) nano create_at_task.sh # 或使用 echo 直接创建 echo '#!/bin/bash current_time=$(date +"%Y-%m-%d %H:%M:%S") echo "当前时间为:$current_time" > /tmp/at_test.txt' > create_at_task.sh ``` #### 🔐 2. 添加可执行权限 使用 `chmod` 命令添加执行权限: ```bash chmod +x create_at_task.sh ``` 此命令让文件所有者拥有执行权限[^1][^4]。 #### ✔️ 3. 验证结果 检查文件权限和内容: ```bash # 查看权限状态(应有 x 标志) ls -l create_at_task.sh # 输出示例: -rwxr-xr-x 1 user user 156 Jul 10 10:00 create_at_task.sh # 测试脚本执行 ./create_at_task.sh cat /tmp/at_test.txt # 应显示当前时间 ``` #### ⚠️ 注意事项 1. **行尾符问题**:Windows 编辑的脚本需转换格式: ```bash dos2unix create_at_task.sh # 安装: sudo apt install dos2unix ``` 否则会报错 `No such file or directory`[^4] 2. **路径问题**: - 使用 `./create_at_task.sh` 执行当前目录的脚本 - 或添加路径到 `PATH` 环境变量 3. **权限检查**: ```bash # 确保有操作权限 ls -ld $(pwd) # 查看当前目录权限 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值