标签: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脚本。
标签:class 无法 color 定义 highlight cas 权限 有一个 yun
原文地址:https://www.cnblogs.com/g-j-f/p/9985348.html