[ 永远的UNIX::UNIX技术资料的宝库 ]

首页 > 编程技术 > Shell > 正文

批量添加用户

来源:不详 (2005-09-07 14:15:22)


FreeBSD 大量转档建帐号程式(perl代码)
本文出自:OHaHa的学习心得[ohaha.ks.edu.tw] 作者:蓝色泡泡(panda@ks.edu.tw) (2002-03-05 06:02:00)
##############
# adduser.pl #
##############

#!/usr/bin/perl
$filename = 'class.txt' ;
open(file,$filename) ;
while( $name= ) {
chop $name ;
@name_array = split /,/,$name ;
$PW_COMMAND="/usr/sbin/pw useradd $name_array[0] -m -h 0" ;
$fname="|".$PW_COMMAND ; open(OUT, $fname) ;
print OUT $name_array[1] ;
close(OUT) ;
print "UserName: ",$name_array[0],"\t\t",
"Password: ",$name_array[1],"\n";
}
print "\n" ;
close(file) ;

################
# /etc/pw.conf #
################
logfile /root/pw.log
defaultpasswd yes
home /home
defaultshell /usr/local/bin/bash
defaultgroup user
reuseuids yes
minuid 2000

##############
# 额外说明 #
##############
1.home -->预设的家目录
defaultshell -->预设的shell路径
defaultgroup -->预设的群组
1.minuid -->起始的uid

############
# 使用方式 #
############
1.先备档案
a. adduser.pl
b. /etc/pw.conf
c. 帐号的来源档 class.txt
形式:
帐号,密码
帐号,密码
2.步骤
a.将adduser.pl改为可以执行
chmod 700 adduser.pl
b.adduser.pl及class.txt需在同一目录下,不然则需更改路径
c.执行adduser.pl
d.完成


我没有试过。

我曾幫服務的學校寫了一個大量建帳號的程式,為了建置每學期
新進學生的帳號,修改一下應該可以符合你的需求

檔案下載
ftp://mail2.tses.tcc.edu.tw/pub/files/adduser.tgz

安裝方法
tar xvzf adduser.tgz
make install clean

使用方法(增加新學年使用者範例)

#stdadmin -1
請輸入帳號開頭的英文字母 (建議用 s): s
請輸入 入學年度 : 90
請輸入該年級之班級數 : 5
請輸入每班之人數 : 35
請輸入預設密碼(英數混合至多8個字元) : abcd1234
Check /etc/shells
Check /etc/master.passwd
Check /etc/group
Enter your default shell: bash csh date no sh tcsh [sh]: #按enter或自己設定
Enter your default HOME partition: [/home]: #按enter
Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: #按enter
Are you sure to add users? (y/n) [y]: #按enter

建立帳號後可以用openwebmail或其他程式來更改個人密碼


刪除使用者範例
#stdadmin -2
請輸入帳號開頭的英文字母 : s
請輸入 入學年度 : 90
請選擇要不要刪除個人家目錄 : 1.是 2.否 : 1

這樣就完成了.


注意:第一次安裝完時會找不到路徑,可以用絕對路徑
/usr/local/bin/stdadmin -1
或是重開機後只要打 stdadmin -1 就可以了

歡迎大家幫忙測試並提供bug修正!


(http://www.fanqiang.com)



 相关文章
在 shell 中要用怎样的 pattern 来表示除了 "." 与 ".." 外的所有档案? 2001-04-19 10:37:44
以 "." 开始的文件名在各种 shell 中的用途 2001-04-19 11:03:22
SCOUNIX基础讲座--第二讲shell环境 2001-05-18 14:57:47
Linux命令Man解释:chsh :更换你登入时所用的shell 2001-06-12 07:00:01
中文man手册:chsh--改变你的登录 shell 2001-09-16 08:05:00
中文man手册:smbtar - 直接备份SMB/CIFS共享资源到UNIX磁带设备的shell脚本 2001-09-23 07:05:01
中文man手册:su - 运行替换用户和组标识的shell 2001-09-24 07:00:01
写 shell script 时,要如何从 terminal 读入字元? 2001-04-19 10:28:46
如何在 .cshrc 中判断是否在 login shell 中? 2001-04-19 10:36:13
在 Bourne shell script 里要怎么找出最后一个参数? 2001-04-19 10:39:15
如何让 setuid 的 shell script 可以使用? 2001-04-19 10:50:32
shell 要如何分类呢? 2001-04-19 10:59:52
怎么在一个 shell script 中或在背景执行
Shell 介绍 2001-05-02 03:09:29
Linux程式设计-18.Dialog (11)配合Shell Script进阶使用 2001-05-27 11:00:00
Linux程式设计-11.Shell Script(bash)--(1)简介 2001-05-25 08:10:00
Linux程式设计-11.Shell Script(bash)--(2)教学例 2001-05-25 09:04:01
Linux程式设计-11.Shell Script(bash)--(3)用於自动备份的Shell Script 2001-05-25 10:08:00
Linux程式设计-11.Shell Script(bash)--(4)档案系统检查 2001-05-25 11:00:00
Linux程式设计-11.Shell Script(bash)--(5)控制圈for 2001-05-25 12:10:00

★  感谢所有的作者为我们学习技术知识提供了一条捷径  ★
www.fanqiang.com