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

来源:未知 责任编辑:责任编辑 发表时间:2013-12-18 11:35 点击:

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

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • /etc/fstab 详解
    • nginx主主集群
    •  LVS-NAT和LVS-DR模式的实现详解
    •  RHCE考试之磁盘配额
    • 学习笔记:ACL详解
    • suse linux双网卡双网关配置
    •  LVM逻辑卷管理器
    •  Nginx主主负载均衡架构
    • ubuntu学习Mysql

    快速直达

    操作系统导航

    LinuxWindows虚拟机
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1