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   //表示循环体结束
 
本文出自 “快乐至上” 博客

相关内容

    暂无相关文章