分享
 
 
 

解决Linux下批量添加大量账户的问题

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

方法一:

一个系统管理者日常最常处理的工作便是管理使用者帐号了,包含增加和减少使用者、配置硬盘配额、开启个人首页等等,而在系统建置的初期面对要增加大量使用者而要回答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.合并完会产生一份新文件,您可以检查结果是否正确.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有