庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>操作系统>Linux>系统管理>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

如何一次添加大量账户

 作者:本站收集   日期:2005-4-11
字号选择〖 〗/ 双击滚屏 单击停止   
方法一:
   一个系统管理者日常最常处理的工作便是管理使用者帐号了,包含增加和减少使用者、配置硬盘配额、开启个人首页等等,而在系统建置的初期面对要增加大量使用者而要回答adduser(useradd)的一些相关使用者信息便常要浪费相当多时间,况且又没有留下相关的记录,常让系统管理者痛苦不已,更别说后续的管理动作了。
   pdadduser正可以解决这种困扰,不仅可以依需要快速方便建立大量使用者帐号,使用者的密码可以是采随机或指定的方式组成,而帐号、UID、家目录都可由系统管理者自行选择设定,并可以搭配相关指令使用,深具弹性,并留有相关的记录,可以大量减轻管理者负担。笔者在本文中将使用简单的范例来说明在Linux和FreeBSD这两套系统下的使用方式,更详细的说明可以参考http://ghs.ssd.k12.wa.us/~pdavis/。

安装
   pdadduser目前最新的版本是1.2,但是经笔者测试,某些系统1.2版并无法执行,此时请改用1.1版〔笔者均mirror于http://mouse.oit.edu.tw/sources/pdadduser〕,此外由Linux和FreeBSD这两套系统下建立使用者帐号并不尽相同,所以笔者将分两部分说明。

1.1 Linux 安装
   step 1. tar xvfz pdadduser-1.2.tar.gz ← 解压缩Pdadduser软件
   step 2. cd pdadduser-1.2 ← 切换到pdadduser-1.2目录中
   step 3. make ← 编辑pdadduser
   step 4. gcc pause.c –o pause ← 有时该档会有问题,所以编辑一下
   当产生pdadduser, pause 这两个可执行档即可。

1.2 FreeBSD 安装
   step 1. tar xvfz pdadduser-1.1.tar.gz ← 解压缩Pdadduser软件
   step 2. cd pdadduser-1.1 ← 切换到pdadduser-1.2目录中
   step 3. gcc –Wall –I- -I. pdadduser –o pdadduser ← 编辑pdadduser
   step 4. gcc pause.c –o pause ←编辑 pause
   当产生pdadduser, pause 这两个可执行档即可。

2 指令格式
   pdadduser完整的指令格式如下,笔者在本文中仅作简单的说明,更详细的使用方式请参考解开的README。
   pdadduser -n [-f ] [-F ] [-o ] [-h home-directory-format>] [-g ] [-r ] [-p ] [-t] [-d] -c COMMAND1 [COMMAND2 ...]
   选项说明:
   -n :使用者清单的文字文件档案,这是必需的,例如档案内容如下所示:
   Peter Davis
   Joe Schmoe
   Jane Doe
   -f :使用者名称的组合格式,格式定义如下:
   $n:第n个字(起始字是 $0),如果不存在则忽略
   %x.n:第n个字中第x个字符,如果不存在则忽略
   例如 %0.0$1 是取第0个字中第0个字符和第1个字组合而成(预设也是如此),所以套用上面范例取得的使用者名称分别是 `pdavis, `jschmoe, `jdoe;%3.0$1 是取第0个字中第3个字符和第1个字组合而成,所以套用上面范例取得的使用者名称分别是 edavis, schmoe, edoe。
   -F :使用者全名的组合格式,格式定义和 -f 相同,例如 $0 $1 是取第0个字空格和第1个字组合而成(预设也是如此),所以套用上面范例取得的使用者全名分别是 Peter Davis, "Joe Schmoe, Jane Doe;而%0.0. $1 取得的是 P. Davis, J. Schmoe, J. Doe。
   -o :输出档案,包含使用者名称、密码和错误讯息等,请务必放置安全的地方,当然有此档案则系统管理者应可玩出一些把戏才是。如果输出档名为 - 则仅自屏幕输出,笔者并不建议使用。此外错误讯息如 !2!!235! 等,请见下面范例,可以提醒管理者注意。
   -h :使用者家目录格式,首先定义ㄧ些特殊字符如下:
   u:使用者名称
   g:使用者群组
   f:使用者全名
   使用者家目录格式,格式定义如下:
   $:整个字
   %n:字中第n个字符
   例如 /home/$g/$u 依上例是 /home/users/pdavis;假设使用者名称是 S9351033,家目录希望是/home/users/S/93/S9351033,则格式应为 /home/users/%0u/%1u%2u/$u。预设格式是 /home/$u。
   -g :使用者群组。
   -r :UID范围,预设是500到1000。
   -p :预设是系统随机数产生,当然也可自订,如 %xr 为随机数产生 r 个字符,预设是 6 个字符
   -t:测试模式,并不真正增加使用者。
   -d:除错模式,可看到每一指令的执行过程。
   -c COMMAND1 [COMMAND2 ...]:这是pdadduser最重要的部份,也就是pdadduser提供相关的参数给COMMAND执行,详细的范例在下。其中参数如下:
   $u:使用者名称
   $p:使用者密码
   $i:使用者UID
   $g:使用者群组
   $f:使用者全名
   $d:使用者家目录

3 执行
   在了解指令的参数之后,我们便可以利用pdadduser来新增使用者了,但由于Linux和FreeBSD稍有不同,笔者分别说明之。

3.1 Linux
   首先建立使用者清单的文字文件档案,范例如上,取名 userlists;另外笔者也建立一个shell可执行档,内容如下,取名 pda4linux。
   ./pdadduser -n $1 -o $2 -g users -d -c \
   /usr/sbin/adduser -c "$f" -u $i -g $g -d $d $u \
   (printf "$p"; ./pause 1; printf "$p") | /usr/bin/passwd $u; \
   mkdir $d/public_html \
   cp index.html.samp $d/public_html/index.html \
   chown -R $u.$g $d/public_html \
   chmod 755 $d \
   edquota -p shie $u
   pda4linux执行档的意思是,/usr/sbin/adduser -c "$f" -u $i -g $g -d $d $u 增加使用者,(printf "$p"; ./pause 1; printf "$p") | /usr/bin/passwd $u; 变更使用者密码,mkdir $d/public_html cp index.html.samp $d/public_html/index.html chown -R $u.$g $d/public_html chmod 755 $d,制作个人首页,edquota -p shie $u 复制shie的Quota样板。
   当然pda4linux是要修改才可以用到你的系统的,如中的index.html.samp, shie 等等。执行的格式如下:
   ./pda4linux 使用者清单 输出档案
   如:
   ./pda4linux userlists accounts
   执行第一次pda4linux观看输出档案 accounts内容如下:
   Peter Davis: name=pdavis passwd=aacuug group=users uid=500 homedir=/home/pdavis
   Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid=501 homedir=/home/jschmoe
   Jane Doe: name=jdoe passwd=appymj group=users uid=502 homedir=/home/jdoe
   再执行ㄧ次后,再观察输出档 accounts 内容如下:
   Peter Davis: name=pdavis passwd=aacuug group=users uid=500 homedir=/home/pdavis
   Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid=501 homedir=/home/jschmoe
   Jane Doe: name=jdoe passwd=appymj group=users uid=502 homedir=/home/jdoe
   !1!!256! Peter Davis: name=pdavis passwd=dedrnm group=users uid=503 homedir=/home/pdavis
   !1!!256! Joe Schmoe: name=jschmoe passwd=hfyhoy group=users uid=503 homedir=/home/jschmoe
   !1!!256! Jane Doe: name=jdoe passwd=ueixrd group=users uid=503 homedir=/home/jdoe
   由此可知此时新增使用者是会有问题的,问题当然是重复了,而有时密码产生的太简单时也是会有问题的,再次提醒一次请务必该档放置安全的地方。

方法二、
   自动建立帐号--中小学网管者的救星来了(一)
   A:使用环境:RedHat Linux+cle
   1.先把档案抓回去![请按这里](http://netlab.kh.edu.tw/download/建帐号工具.zip )
   2.以root权限进入linux
   3.将解开的档案放到一个新建的 /work 目录
   4. cd /work [进入 work目录]
   5.chmod 700 * [将所有script文件属性改为 -rwx------]
   6.更改 /etc/profile里的叙述
    PATH="$PATH:/usr/X11R6/bin" 改为
    PATH="$PATH:/usr/X11R6/bin:/usr/sbin"
    存盘后离开系统再重新以root登入
   7. #./cmenu 执行script檔
   8.选[1]自动建立帐号
   9.选[3]产生全校帐号
   10.您需求的规则: 例如英文字母:stu ,最低年级:1 , 最高年级:6 , 每一年级的班级数目: 9, 每一班学生人数:50, 然后就会以:群组+年级+班级+座号的规则建立帐号,但目前尚无密码,也无法收发E-mail,请回到主选单继续.
   11.在主选单中选[4]批次更改使用者密码(二)
   12.输入群组名称:stu , 其它请依说明操作,最后会产生一个pwtemp檔,内容是使用者帐号以及群组+四位数密码.
   (参考资料:RedHat Linux随装即用.赖阿福.高健智着,松岗)

自动建立帐号--中小学网管者的救星来了(二)
   A:接下来说明如何自动产生帐号通知单.
   1.将产生的pwtemp文件拷贝到Win98或WinNT上
   2.使用Excel或Access的汇入功能汇入到资料表中并分字段如编号、姓名、帐号、密码.
   3.回到Word里开启新文件.
   4.使用工具->合并打印
   5.简单格式如下: >等代表合并之字段
   高雄市和平国小电子邮件帐号分配通知单
   使用者姓名:> 配发日期:1999/9/15
   E-mail:>@mail.hpps.kh.edu.tw
   服务器信息:
   内送邮件→POP3 :mail.hpps.kh.edu.tw
   外寄邮件→SMTP :mail.hpps.kh.edu.tw
   内送邮件服务器帐号:> 密码:>

6.合并完会产生一份新文件,您可以检查结果是否正确.
上一篇:定制Linux内核,发挥Linux潜能    下一篇:如何在Linux系统下实现Server Push  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-4-11
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿