shell操作文件来创建多个用户
功能要求:1、创建新用户,通常是在/home下以用户名名称的子目录
2、在/etc/passwd 文件中添加新用户的记录。
3、在/etc/shadow 文件中添加新用户的记录。
代码实现:
用到while、chown、chgrp等语句。
#!/bin/bash //定义脚本执行环境
# filename:创建文件 //定义文件名
i=1 //定义变量
awk `BEGIN { FS=":"; } { print $3 ;}` /etc/passwd >pa //表示将passwd 文件中以冒号分隔符的底三列保存到pa 文件中,其中“BEGIN”表示从/etc/passwd 文件每行的首字符开始处理,该行代码实质是将文件/etc/passwd 中第三行提取出来保存到文件pa 中。
x='tail -1 pa ' //将文件pa倒数第一行内容保存到变量x 中,即变量x保存了当前最大的用户id.其中“·tail -l pa `"用反引号。
x=$(($x+1)) //将变量的x 值加1,作为下一组新建用户的id .
while [ $i -le 50 ] //循环结构小于50执行,大于50 结束循环体。
do //循环语句中的结构。
mkdir -p /home/stud${i} //使用mkdir 命令创建用户的主目录,
chown -R $stud${i} /home/$stud${i} //使用chown 指定主目录,
chgrp -R user1 /home/$stud${i} //使用chgrp 指定主目录
echo "stud${i}:x:${x}:100::/home/stud${i}:/bin/bash" >> /etc/passwd //将这个字符串追加到/etc/passwd 尾部
echo "stud${i}::14098:0:9999:7:::::" >> /etc/shadow //将字符串附加到文件尾部
i=$(($i+1)) //变量加1
x=$(($x+1)) //将变量x值加1
done //表示循环体结束
本文出自 “快乐至上” 博客
相关新闻>>
- 发表评论
-
- 最新评论 更多>>