进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 操作系统 -> Linux -> 文章内容  
在Linux中批量建立用户的shell

  最近,笔者在校园网应用平台建设中采用了Linux操作系统,为校园网用户提供DNS、Apache、POP3、SMTP、FTP等服务。由于我校学生用户数在3000人以上,笔者在建设整个应用平台的过程中特别重视保证用户管理效率。我的基本思路和做法是:利用shell为每个学生建立一个系统账号——即提供一个E-mail地址(含FTP空间账号),然后学生可以凭借其E-mail再注册论坛用户。基于这样的管理思路,笔者编写了一个批量建立用户的shell,实践证明,利用shell可以有效地管理基于Unix内核的系统用户。   以下是整个shell的源码及注释,此代码在Redhat 7.2及Turbo Linux 7.0上调试通过,在其他版本的Linux中使用可能需要做适当的修改。其中“@”部分是代码注释,“()”部分是笔者对于编程思路的解释。   @!/bin/sh(定义使用sh shell)   groupadd users(建立用户组)   @grade code(定义第一个参数为年级代码,赋予变量“grade”)   grade=$1   @class code(定义第二个参数为班级代码,赋予变量“num_class”)   num_class=`expr $2 + 0`   if (test $num_class -le 9)(以下代码是为了保证班级码的位数为两位)   then    num_class="0"$num_class   fi   @max user id(定义第三个参数为该班学生的最大ID号,赋予变量“max_stid”)   max_stid=`expr $3 + 0`   @init user id(该班学生用户ID号从1开始)   num_stid =1   @mkdir user home(在“/home”目录为所有学生建立名为"student"的公共目录)   if [ ! -x /home/student ]   then    mkdir /home/student   fi   if [ ! -x /home/student/$1$num_class ] (在学生公共目录下为每个班级建立以该班代码命名的目录)   then    mkdir /home/student/$1$num_class   fi   while (test $num_stid -le $max_stid)(从用户ID号1开始循环,直到最大ID号)    do    if (test $num_stid -le 9) (以下保证学生代码的位数为两位)    then    num_stid="0"$num_stid    fi    user_name=$grade$num_class$num_stid(把年级、班级、学生ID号三部分代码组合成用户名,并赋予变量user_name)    @save user passwd to file user_pwlist(按“name:passwd”的格式逐行追加写入“user_pwlist”文件,以备初始化用户密码)    echo $user_name":"$user_name >> user_pwlist    @add user(建立该用户,同时赋予“users”组,创建该用户目录)    adduser -g users -d /home/student/$1$num_class/$user_name $user_name    @set quota(为该用户设置配额,限制最大容量为20MB,没有文件数限制)    setquota -u $user_name 10240 20480 0 0 /home    @set directory mode(设置该用户目录的权限为755)    chmod 755 /home/student/$1$num_class/$user_name    @current user id add one(用户ID号加1,准备下一次循环,建立下一个用户)    num_stid=`expr $num_stid + 1`   done   chpasswd < user_pwlist(以下两行为刚才建立的所有用户设置密码)   pwconv   rm user_pwlist -f(删除“user_pwlist”文件)      关于使用:   1. 用vi编辑器逐行写入以上代码部分,并以文件的形式保存,如以“addclass”命名保存,再执行以下步骤。   2. #chmod +x addclass(设置addclass文件为可执行权限)   3. #./addclass ga 1 50(建立ga0101-ga0150用户)   注意:#为提示符。      以上代码只是笔者在使用shell进行系统用户管理时的一点体会。由于shell可以和Linux的系统命令结合使用,所以它在管理中的功能就显得非常强大。就以上代码而言,我们只要稍加改动,就可以建立删除批量用户的shell、批量配置用户配额的shell以及批量初始用户密码的shell。如果再加上一层班级循环语句,就可以生成一次建立一个年级用户的shell。

在百度中搜索:在Linux中批量建立用户的shell
在Google中搜索:在Linux中批量建立用户的shell
在Yahoo中搜索:在Linux中批量建立用户的shell

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]
上一篇文章:Linux下配置DHCP服务器

 相关文章    最新文章
· [组图] 在Linux操作系统上创建ADSL拨号上网..
· 在Linux系统下Mldonkey的配置和使用方法
· VM共享文件夹在Linux系统下如何正确使用
· 在Linux操作系统下使用虚拟光驱的方法
· 在Linux桌面使用Windows的文档
· 在Linux桌面上 随意使用我的文档
· 在Linux系统下优化Oracle具体步骤
· [图文] 如何在Linux操作系统中使用手写板
· 在Linux中如何提高文件系统的使用效率
· 在Linux系统下建立强大的FTP搜索引擎
 
· 十大注意事项 让Linux启动更快速
· Linux软件安装指南
· [组图] 快速体验Linux的3种方式
· Linux下Tomcat自启动的设置技巧
· 装有双系统用户 如何卸载Linux
· [组图] 在Linux操作系统上创建ADSL拨号上网..
· 高效使用Linux的七个习惯
· 基础知识:什么是Fedora Linux
· Linux操作系统下的umask函数详解
· Ubuntu Linux 8.04操作系统4月24日发布

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)