FreeBSD 大量转档建帐号程式(perl代码)
本文出自:OHaHa的学习心得[ohaha.ks.edu.tw] 作者:蓝色泡泡([email protected]) (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修正!