Linux实验: 简单用户创建

Linux实验:shell编程

    • 简单用户创建
    • 1. 思路
    • 2. 分析及代码解释
    • 3. 运行结果及分析

简单用户创建

请批量创建一个班的用户,建立组名如class0605,然后添加属于这个组的用户。用户名为:学号+姓名。每成功创建一个用户,在屏幕上显示用户名。

1. 思路

  • 创建一个组,组名例如:class0605 这种,可用groupadd实现;
  • 创建两个变量,用于放置学号、姓名,可用 n u m num numname实现;
  • 把创建的信息加入之前创建的组
  • 显示创建的信息
  • 退出程序

2. 分析及代码解释

代码片解释:
以下操作二选一即可,作用都是把用户信息添加到一个组中;

  1. 利用gpasswd实现把一用户添加到一个组
  gpasswd -a $usernum$username user
#把用户信息添加到一个组  
  1. 利用usermod实现把一个用户添加到一个组
usermod -g user $usernum$username
#把用户信息添加到一个组  

下面展示一下源代码

#!/bin/bash
echo -n "建立一个组:"
read group_name
users=$group_name
#创建一个组(组名为输入的变量)
groupadd user
flag=1
while [ $flag -eq 1 ]
do
   read -p "学号:" usernum
   read -p "姓名:" username
   useradd $usernum$username
   gpasswd -a $usernum$username user
 # usermod -g user "$usernum$username"
 #把用户添加到一个新的附加组中
 echo "$usernum $username Created successfully"
 read -p "0-退出,1-继续:\n" flag
 if [ $flag -eq 0 ]
then break
 fi
done
exit 0

3. 运行结果及分析

1.使用gpassd:
Linux实验: 简单用户创建_第1张图片
2.使用usermod:
Linux实验: 简单用户创建_第2张图片
3. 输入名字的时候,输入了中文,会产生的错误,不管是gpasswd ,还是usermod 后面接英文可识别,中文字符会产生错误;
Linux实验: 简单用户创建_第3张图片

会产生无效的用户,也会显示被创建;

好了,到这里就结束了,如果对您有帮助,欢迎评论点赞,一起加油,共同进步!
Linux实验: 简单用户创建_第4张图片

你可能感兴趣的:(linux,shell,vim,运维)