精华内容
下载资源
问答
  • 代码如下: ...该shell主要用到了useradd添加用户、echo、passwd修改密码、stdin标准输入、|管道,最后还要for循环。 其实还可以这么做,扩展一下,把账号和密码保存到一个文件,awk读取,然后执行。
  • 通过循环输出语句构造用户信息文件和密码信息文件,然后直接应用newusers命令批量建立用户chpasswd命令批量设置初始密码。 关键技术:echo命令和重定向输出构造用户信息文件和密码信息文件。 echo “$uname:x:...
  • #批量添加用户 read -p " please input user name: " -t 30 name #让用户输入用户名 并且保存在 name中 read -p " please input the number of users: " -t 30 num # 让用户输入要创建的数目 read -p " please ...
    #!/bin/bash
    #批量添加用户
    
    read -p " please input user name: " -t 30 name
    #让用户输入用户名 并且保存在 name中
    read -p " please input the number of users: " -t 30 num
    #  让用户输入要创建的数目
    read -p " please input the passwd of users: " -t 30 pass
    
    if [ ! -z "$name" -a ! -z " $num" -a ! -z " $pass" ]
    #判断三个变量都不为空
            then
            y=$(echo $num | sed ' s/[0-9]//g')
            #使用sed命令替换变量的值
            if [ -z "$y"]
            #如果便令的值为空  证明它全是数值
                    then
                    for (( i=1;i<=$num;i=i+1   ))
                    #  num制定了循环多少次
                    do
                            /usr/sbin/useradd $name$i &> /dev/null
                            #添加用户 名字是name变量的值 加变量i的数字
                            echo $pass | /usr/bin/passwd --stdin $name$i &> /dev/null
                            #给用户设置初始密码的值
                            chage -d 0 $name$i &> /dev/null
                            #登陆后 立即修改密码
                    done
            fi
    fi
    ~
    
    

    删除脚本

    #!/bin/bash
    #批量删除用户
    
    user=$(cat /etc/passwd |grep "bin/bash" | grep -v " root" | cut -d ":" -f 1)
    #提取普通用户 截取第一列
    for i in $user
    #有多少个用户 循环多少次
            do
                    userdel -r $i
                    #每次循环删除指定用户
            done
    ~
    ~
    
    
    展开全文
  • 批量添加用户 #!/bin/bash #author:hussci #filename:useradd.sh #time:2019-10-21 ...#创建用户组 for name in $(seq 1 10) #设置变量名称并设置参数 do useradd user$name -g users #创建用户并加入u...

    批量添加用户

    #!/bin/bash
    #author:hussci
    #filename:useradd.sh
    #time:2019-10-21
    #作用:使用脚本批量创建用户、并设置用户密码
    
    groupadd users
    #创建用户组
    
    for name in $(seq 1 10)
    #设置变量名称并设置参数
       do
    
    	useradd user$name -g users
    #创建用户并加入user组
    	
    	if [ $? -eq 0 ]; then
    #判断添加用户是否成功
    
    		echo "usero$name 创建成功"
    #创建成功后提示
    		
    		echo "user$name" | passwd --stdin user$name
    #给创建的用户设置密码
    
    	fi
    done
    
    		
    
    
    
    展开全文
  • 昨天我们语言写了一个关于用户组和用户的简单应用,但是说实话,就九个用户我已经重复的很烦恼了,于是我就想能不能通过shell脚本来实现批量增加用户。于是乎,我今天就想着用shell脚本去完成昨晚的例子。我们先来...

    昨天我们用语言写了一个关于用户组和用户的简单应用,但是说实话,就九个用户我已经重复的很烦恼了,于是我就想能不能通过shell脚本来实现批量增加用户。于是乎,我今天就想着用shell脚本去完成昨晚的例子。我们先来回顾一下昨天的例子。

    题目:创建几个组,每个组有一定的成员,并且每个组有一个可以操作的文件夹,每个用户有一个自己的家目录,其他用户无法读取自己的家目录。其中两个组还有一个共用文件夹,两个组的组员都可以可读可写可操作,最后还有一个文件夹,全部的组都可以操作使用。下面是我昨晚列出的具体权限:

    只不过,我今天做的是每个组分配了30个用户。废话不多说,脚本源码奉上

     1 #!/bin/sh
      2 #min=1
      3 #max=3
      4 for((i=1;i<4;i++))
      5 #while [$min -le $max]
      6 do
      7 case $i in
      8 1)
      9 groupname=yanfa
     10 groupadd ${groupname}
     11 mkdir /wenjian/yanfa
     12 chown -R :yanfa /wenjian/yanfa
     13 ;;
     14 2)
     15 groupname=yunwei
     16 groupadd ${groupname}
     17 mkdir /wenjian/yunwei
     18 chown -R :yunwei /wenjian/yunwei
     19 ;;
     20 3)
     21 groupname=renshi;
     22 groupadd ${groupname}
     23 mkdir /wenjian/renshi
     24 chown -R :renshi /wenjian/renshi
     25 esac
     26 #groupadd ${groupname}
     27 for((j=1;j<31;j++))
     28 #while [$j -le 30]
     29 do
     30 username=${groupname}${j}
     31 useradd -g ${groupname} ${username}
     32 #j=$(($j+1))
     33 done
     34 #i=$(($i+1))
     35 done
     36 

    现在我来一步步解释这些代码,

    首先第一行肯定就是定义使用的shell这里一般可以是/bin/bash或者/bin/sh

    第二步就是for循环,这边是循环三次,for循环的开始,然后就是case语句,及其格式,然后就是对应每一个语句需要创建的用户组名,然后就是为用户组创建文件夹,然后就是给文件夹赋予一定的权限,然后esac就是case语句的结束,然后再循环三十次,为每个组创建三十个用户。最后的两个done就是for循环的结束。这就简单实现了,用户组和用户的创建,由于在调试程序的时候,一个个用户的删除比较麻烦,于是我就写了个针对于这个文件创建用户组的删除脚本。也贡献出来吧。

      1 #!/bin/sh
      2 for ((i=1;i<=30;i++))
      3 do
      4 userdel -r yanfa${i}
      5 userdel -r renshi${i}
      6 userdel -r yunwei${i}
      7 done
      8 groupdel yunwei
      9 groupdel renshi
     10 groupdel yanfa
     11 rm -rf /wenjian/yunwei /wenjian/yanfa /wenjian/renshi
    

     好了,这就是一个简单的shell脚本。

    转载于:https://www.cnblogs.com/g-j-f/p/9985348.html

    展开全文
  • 用户组查询 脚本用途:如果是命令查询那就必须通过 groups 查看当前登录用户的组内成员;groups user1 查看 user1用户所在的组,以及组内成员;whoami 查看当前登录用户名,这些一系列的察看方式进行查询,为了更好...

    用户组查询

    脚本用途:如果是命令查询那就必须通过 groups 查看当前登录用户的组内成员;groups user1 查看 user1用户所在的组,以及组内成员;whoami 查看当前登录用户名,这些一系列的察看方式进行查询,为了更好管理我们的用户以及用户组,那么我们就开发以这个为需求的小脚本来满足我们的需求。

    • 脚本命令
    #!/bin/bash
    while [ 1 -ne 2 ]
    do
        read -p "Please enter the user group to query:" gname   #输入用户名
        groupmod $gname >/dev/null 2>&1         #验证用户组是否存在
            if [ $? -ne 0 ]             #判断用户组是否存在
            then
                echo "User group $gname does not exist; please input again!"
             exit 1             #报错退出 
             else               #存在继续进行
                 gid=`cat /etc/group | grep $gname | awk -F ":" '{print $3}'`  #寻找用户组UID
                 echo -n "$gname  主要组成员:"
                 cat /etc/passwd | awk -F ":" '$4='$gid'{print $1 }' | xargs  #通过用户组UID察看主要成员
                 echo -n "$gname  的附属组是:"
                 cat /etc/group | grep "$gname" | awk -F ":" '{print $4}' | xargs  #查找用户组的附属组
                break
             fi
    done
    • 脚本思路
    1、输入要查询的用户组,通过 groupmod 判断用户组是否存在
    2、不存在就直接推出,重新运行查询
    3、用户组纯在进行对用户组UID来寻找察看对应UID组的主要成员和附属组成员
    

    输出 “echo $PATH” 寻找脚本摆放的位置(默认首先第一个)其他路径也是可以的呢
    把脚本放到 “/usr/local/sbin” 并且改名 “update-ipname” (名字可以自定),下次输入命令的时候按下“TAb”键补全就可以看到我们自己写的脚本了呢

    [root@deng-131 order]# echo $PATH 
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    [root@deng-131 order]# cp sgroup.sh /usr/local/sbin/sgroup
    [root@deng-131 order]# sgroup
    sg      sgroup  

    借用原有的命令和知识,开发出专属于自己的小工具。一样的应用,不一样的思路,不一般的效果…..

    展开全文
  • Shell脚本 判断用户和用户组是否已经存在/创建用户和用户组
  • #!/bin/bashargv1=$1argv2=$2argv3=$3OLD_IFS=”$IFS”IFS=”/”tmp_arr=($argv1)IFS=”$OLD_IFS”#tmp_group=${tmp_arr[3]}echo $tmp_groupgroupadd ${tmp_arr[3]}mkdir "$argv1"OLD_IFS=”$IFS”IFS=”,...
  • 手动创建用户的过程分析 手动添加pig(5005),基本hive(5005) 1.添加/etc/passwd ...通过shell程序实现创建用户 #!/bin/bash #创建pig用户UID(5005),GID(5005) USERNAME='pig' PASSFILE='/etc/passwd' GRP
  • 前言我们在需要创建多个用户的时候,使用手工单独创建是比较耗费精力的事情,我们可以通过shell脚本实现批量添加用户,实现指定数量用户、创建用户默认名、创建默认密码。正文① 关键命令1、read命令从键盘读取变量...
  • shell中给文本添加颜色的三种表达方式: echo -e “\e[32m \e[0m” echo -e “\033[32m \033[0m” echo -e “\e[32;40m \e[0m” 32;40前面的数是字体颜色,后面的数是背景颜色 echo加上-e参数后表示可以处理特殊...
  • 使用shell脚本批量创建用户

    千次阅读 2019-05-24 22:26:57
    1、使用for语句批量添加与删除特定用户:for语句的操作对象为用户指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间以空格进行分隔。为于do....done之间的命令序列称为循环体。 ①添加...
  • 底层使用samba服务,写完脚本交给开发兄弟调用。 因为要求只能看见自己的个人文件夹,所以给每个用户创建一个单独的配置文件。总结一下全部操作如下 私有文件 1.加用户 useradd -s /sbin/nologin -G group user 2....
  • 下面的脚本可以用来查看linux中每个中的用户,它依次读取/etc/group每一行,对于其中每一行,都去遍历一遍/etc/passwd,如果group id匹配,打打印出名和用户名。 #!/bin/sh # This script will print all ...
  • 其实我本人根本不会用shell脚本,只会一点点linux的指令 本着拿来主义的精神,原作者写的脚本我修修改改就拿来了 先上代码test_user_add.sh for username in $(more users.list) do if [ -n $use...
  • 编写Shell脚本实现用户管理

    千次阅读 2019-11-27 19:15:04
    在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、ID、用户全名、用户主目录和用户登录所用的shell。 请设计一个shell...
  • shell 脚本 指定用户执行命令

    千次阅读 2016-04-25 14:15:42
    #! /bin/bash rurl=/data/crm/tomcat/webapps/ROOT/upload/ su - gpguser -c "gpg --recipient XXX --output $rurl$1 --encrypt $rurl$2" if [ -f "$rurl$1" ];...因gpg加密工具是gpguser安装的,所有java
  • 这里分两种情况,一种是测试for循环批量添加用户,一个是根据实际生产环境进行批量添加。分别写一下案例如下: 1,for添加指定类型用户以及设置随机密码。 脚本作用:批量添加user1-10用户并设置随机8位数随机密码 ...
  • 通常作为一个应用程序的部署脚本,开始的第一项工作是为当前应用创建一个专用(dedicated)的用户和用户组。这个脚本很简单,这里贴一个参考样本:#!/bin/sh user=test_user group=test_group #create group if not...
  • shell脚本实现自动创建用户

    千次阅读 2019-11-06 22:49:56
    脚本功能如下: 1、根据用户名文本文件创建用户 2、设定每个用户初始密码123,第一次登陆时需更改密码 3、设定每个用户的磁盘配额 脚本代码如下: 1 #!/bin/bash 2 #author lideqian 3 4 for name in $(cat...
  • Shell脚本--批量创建用户

    千次阅读 2020-06-30 22:34:48
    用Shell脚本批量创建用户 1.准备用户数据–users.txt 格式为:用户名 空格/Tab 密码(#就是将数据分为两列) users.txt文本内容示例: 2.编写脚本代码 #新建文本命令 touch create_users.sh #编译文本命令 vim ...
  • 020_shell添加用户组

    千次阅读 2020-05-11 17:31:13
    #设计一个shell程序,添加一个新为class1,然后添加属于这个的30个用户,用户名的形式为stdxx,其中xx从01到30。 #请 su root 或者 sudo su 变成root用户 groupadd class1 for i in {9901..9930}; do xx=`echo...
  • bash(以及通常意义上的shell脚本编程)出现的日子可是不短了,每天都有新手通过bash见识到shell脚本编程和系统自动化的威力。随着微软公司在Windows 10中发布了交互式的bash shell以及Unix子系统,现在已是更适合了解...
  • 变量存在的意义:命令无法操作一直变化的目标,一串固定的字符来表示不固定的目标可以解决此问题。 二、变量的定义方法 1. 环境级别 使用export直接定义,在环境关闭后变量失效 2. 用户级别 ...
  • groupadd class //创建用户组 useradd xx -g class //创建用户并指定群组为class 第三步直接代码: #!/bin/bash grep -w class /etc/group &> /dev/null //-w代表整个单词,过滤包含class这个单词的行,并...
  • Linux下的shell脚本实战之用户创建一、脚本要求二、脚本内容三、运行脚本 一、脚本要求 二、脚本内容 三、运行脚本 一、脚本要求 1.该脚本提示用户创建用户名和密码 2.判断输入的用户名是否已存在 3.判断输入的密码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,723
精华内容 51,489
关键字:

如何用shell脚本添加用户组