添加一个新组为 class1 ,然后添加属于这个组的 30 个用户,用户名的形式为 stdxx ,其中 xx 从 01 到 30 ?

参考回答

为了添加一个新组 class1 并且添加 30 个用户名格式为 std01std30 的用户,可以使用以下步骤编写 Shell 脚本。

解决方案

  1. 创建组 class1
  2. 添加用户 std01std30,并将这些用户添加到 class1 组。
  3. 设置用户密码和其他属性(可选),但此示例脚本不涉及设置密码。

脚本示例:

#!/bin/bash

# 1. 创建一个新组 class1
groupadd class1

# 2. 循环添加用户 std01 到 std30
for i in (seq -f "%02g" 1 30); do
    username="stdi"

    # 创建用户并将其添加到 class1 组
    useradd -m -G class1 "username"

    # 可选:设置密码(如果需要,可以去掉注释并设置密码)
    # echo "username:password" | chpasswd
    echo "User $username added to group class1."
done
Bash

详细讲解与拓展

  1. 创建组:
    • 使用 groupadd class1 命令创建一个新的组 class1
  2. 循环添加用户:
    • 使用 for i in $(seq -f "%02g" 1 30) 来生成数字 0130seq -f "%02g" 生成格式化的两位数,如 01, 0230
    • 在每次循环中,构造用户名 std$i,并使用 useradd 命令创建用户。选项 -m 用来创建用户的 home 目录,-G class1 用来将用户添加到 class1 组。
  3. 设置密码(可选):
    • 如果需要为用户设置密码,可以取消注释并修改密码。通过 echo "$username:password" | chpasswd 为每个用户设置默认密码。
  4. 输出信息:
    • 脚本会输出每个添加的用户的信息,如 "User std01 added to group class1"

示例输出:

当脚本运行时,它会创建 class1 组并添加用户:

User std01 added to group class1.
User std02 added to group class1.
...
User std30 added to group class1.

总结

通过此脚本,可以快速批量创建 30 个用户,并将它们添加到一个新的组 class1。此脚本对日常批量用户管理任务非常实用。如果需要进一步的个性化设置(如密码),可以根据需要进行扩展。

发表评论

后才能评论