方法一 一个系统管理者日常最常处理的工作便是管理使用者帐号了包含增加和减少使用者配置硬盘配额开启个人首页等等而在系统建置的初期面对要增加大量使用者而要回答adduser(useradd)的一些相关使用者信息便常要浪费相当多时间况且又没有留下相关的记录常让系统管理者痛苦不已更别说后续的管理动作了 pdadduser正可以解决这种困扰不仅可以依需要快速方便建立大量使用者帐号使用者的密码可以是采随机或指定的方式组成而帐号UID家目录都可由系统管理者自行选择设定并可以搭配相关指令使用深具弹性并留有相关的记录可以大量减轻管理者负担笔者在本文中将使用简单的范例来说明在Linux和FreeBSD这两套系统下的使用方式更详细的说明可以参考~pdavis/ 安装 pdadduser目前最新的版本是但是经笔者测试某些系统版并无法执行此时请改用版〔笔者均mirror于〕此外由Linux和FreeBSD这两套系统下建立使用者帐号并不尽相同所以笔者将分两部分说明 Linux 安装 step tar xvfz pdaddusertargz ← 解压缩Pdadduser软件 step cd pdadduser ← 切换到pdadduser目录中 step make ← 编辑pdadduser step gcc pausec –o pause ← 有时该档会有问题所以编辑一下 当产生pdadduser pause 这两个可执行档即可 FreeBSD 安装 step tar xvfz pdaddusertargz ← 解压缩Pdadduser软件 step cd pdadduser ← 切换到pdadduser目录中 step gcc –Wall –I I pdadduser –o pdadduser ← 编辑pdadduser step gcc pausec –o pause ←编辑 pause 当产生pdadduser pause 这两个可执行档即可 指令格式 pdadduser完整的指令格式如下笔者在本文中仅作简单的说明更详细的使用方式请参考解开的README pdadduser n [f ] [F ] [o ] [h homedirectoryformat>] [g ] [r ] [p ] [t] [d] c COMMAND [COMMAND ] 选项说明 n 使用者清单的文字文件档案这是必需的例如档案内容如下所示 Peter Davis Joe Schmoe Jane Doe f 使用者名称的组合格式格式定义如下 $n第n个字(起始字是 $)如果不存在则忽略 %xn第n个字中第x个字符如果不存在则忽略 例如 %$ 是取第个字中第个字符和第个字组合而成(预设也是如此)所以套用上面范例取得的使用者名称分别是 `pdavis `jschmoe `jdoe%$ 是取第个字中第个字符和第个字组合而成所以套用上面范例取得的使用者名称分别是 edavis schmoe edoe F 使用者全名的组合格式格式定义和 f 相同例如 $ $ 是取第个字空格和第个字组合而成(预设也是如此)所以套用上面范例取得的使用者全名分别是 Peter Davis Joe Schmoe Jane Doe而% $ 取得的是 P Davis J Schmoe J Doe o 输出档案包含使用者名称密码和错误讯息等请务必放置安全的地方当然有此档案则系统管理者应可玩出一些把戏才是如果输出档名为 则仅自屏幕输出笔者并不建议使用此外错误讯息如 !!!! 等请见下面范例可以提醒管理者注意 h 使用者家目录格式首先定义ㄧ些特殊字符如下 u使用者名称 g使用者群组 f使用者全名 使用者家目录格式格式定义如下 $整个字 %n字中第n个字符 例如 /home/$g/$u 依上例是 /home/users/pdavis假设使用者名称是 S家目录希望是/home/users/S//S则格式应为 /home/users/%u/%u%u/$u预设格式是 /home/$u g 使用者群组 r UID范围预设是到 p 预设是系统随机数产生当然也可自订如 %xr 为随机数产生 r 个字符预设是 个字符 t测试模式并不真正增加使用者 d除错模式可看到每一指令的执行过程 c COMMAND [COMMAND ]这是pdadduser最重要的部份也就是pdadduser提供相关的参数给COMMAND执行详细的范例在下其中参数如下 $u使用者名称 $p使用者密码 $i使用者UID $g使用者群组 $f使用者全名 $d使用者家目录 执行 在了解指令的参数之后我们便可以利用pdadduser来新增使用者了但由于Linux和FreeBSD稍有不同笔者分别说明之 Linux 首先建立使用者清单的文字文件档案范例如上取名 userlists另外笔者也建立一个shell可执行档内容如下取名 pdalinux /pdadduser n $ o $ g users d c \ /usr/sbin/adduser c $f u $i g $g d $d $u \ (printf $p; /pause ; printf $p) | /usr/bin/passwd $u; \ mkdir $d/public_html \ cp lsamp $d/public_html/l \ chown R $u$g $d/public_html \ chmod $d \ edquota p shie $u pdalinux执行档的意思是/usr/sbin/adduser c $f u $i g $g d $d $u 增加使用者(printf $p; /pause ; printf $p) | /usr/bin/passwd $u; 变更使用者密码mkdir $d/public_html cp lsamp $d/public_html/l chown R $u$g $d/public_html chmod $d制作个人首页edquota p shie $u 复制shie的Quota样板 当然pdalinux是要修改才可以用到你的系统的如中的lsamp shie 等等执行的格式如下 /pdalinux 使用者清单 输出档案 如 /pdalinux userlists accounts 执行第一次pdalinux观看输出档案 accounts内容如下 Peter Davis: name=pdavis passwd=aacuug group=users uid= homedir=/home/pdavis Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid= homedir=/home/jschmoe Jane Doe: name=jdoe passwd=appymj group=users uid= homedir=/home/jdoe 再执行ㄧ次后再观察输出档 accounts 内容如下 Peter Davis: name=pdavis passwd=aacuug group=users uid= homedir=/home/pdavis Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid= homedir=/home/jschmoe Jane Doe: name=jdoe passwd=appymj group=users uid= homedir=/home/jdoe !!!! Peter Davis: name=pdavis passwd=dedrnm group=users uid= homedir=/home/pdavis !!!! Joe Schmoe: name=jschmoe passwd=hfyhoy group=users uid= homedir=/home/jschmoe !!!! Jane Doe: name=jdoe passwd=ueixrd group=users uid= homedir=/home/jdoe 由此可知此时新增使用者是会有问题的问题当然是重复了而有时密码产生的太简单时也是会有问题的再次提醒一次请务必该档放置安全的地方 方法二 自动建立帐号中小学网管者的救星来了(一) A:使用环境:RedHat Linux+cle 先把档案抓回去![请按这里](建帐号工具zip ) 以root权限进入linux 将解开的档案放到一个新建的 /work 目录 cd /work [进入 work目录] chmod * [将所有script文件属性改为 rwx] 更改 /etc/profile里的叙述 PATH=$PATH:/usr/XR/bin 改为 PATH=$PATH:/usr/XR/bin:/usr/sbin 存盘后离开系统再重新以root登入 #/cmenu执行script档 选[]自动建立帐号 选[]产生全校帐号 您需求的规则: 例如英文字母:stu 最低年级: 最高年级: 每一年级的班级数目: 每一班学生人数: 然后就会以:群组+年级+班级+座号的规则建立帐号但目前尚无密码也无法收发Email请回到主选单继续 在主选单中选[]批次更改使用者密码(二) 输入群组名称:stu 其它请依说明操作最后会产生一个pwtemp档内容是使用者帐号以及群组+四位数密码 (参考资料:RedHat Linux随装即用赖阿福高健智着松岗) 自动建立帐号中小学网管者的救星来了(二) A:接下来说明如何自动产生帐号通知单 将产生的pwtemp文件拷贝到Win或WinNT上 使用Excel或Access的汇入功能汇入到资料表中并分字段如编号姓名帐号密码 回到Word里开启新文件 使用工具>合并打印 简单格式如下: >等代表合并之字段 高雄市和平国小电子邮件帐号分配通知单 使用者姓名> 配发日期// Email>@mailhppskhedutw 服务器信息 |