码迷,mamicode.com
首页 > 系统相关 > 详细

用shell脚本增加几个组,并在每个组里创建一定的用户

时间:2018-11-19 21:45:31      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:class   无法   color   定义   highlight   cas   权限   有一个   yun   

昨天我们用语言写了一个关于用户组和用户的简单应用,但是说实话,就九个用户我已经重复的很烦恼了,于是我就想能不能通过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脚本。

用shell脚本增加几个组,并在每个组里创建一定的用户

标签:class   无法   color   定义   highlight   cas   权限   有一个   yun   

原文地址:https://www.cnblogs.com/g-j-f/p/9985348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!