知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

shell操作文件来创建多个用户

发布时间:2014-09-05 17:02:47作者:知识屋

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

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜