如何批量地添加用户?

发表于:2007-06-09来源:作者:点击数: 标签:
急需开通一大批帐户,有没有快捷的方法? 谢谢! MaxBSD 回复于:2002-04-28 18:51:51 vipw freeheart 回复于:2002-04-28 22:22:25 maxbsd, 我所有的用户的密码都一致,为什么master.passwd的第二个字段的值都不一样, 另外,第八个字段的个人信息都不同,该怎

急需开通一大批帐户,有没有快捷的方法?
谢谢!

 MaxBSD 回复于:2002-04-28 18:51:51
vipw

 freeheart 回复于:2002-04-28 22:22:25
maxbsd,
我所有的用户的密码都一致,为什么master.passwd的第二个字段的值都不一样,
另外,第八个字段的个人信息都不同,该怎样直接编辑?
谢谢!


 freeheart 回复于:2002-04-28 22:41:01
有没有什么命令可以让用户登录进去后更改自己的用户姓名?


 sky5tar 回复于:2002-04-29 11:31:25
[这个贴子最后由sky5tar在 2002/04/29 11:33am 编辑]

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.完成  


我没有试过。


 MaxBSD 回复于:2002-04-29 14:52:07
"有没有什么命令可以让用户登录进去后更改自己的用户姓名? "

--->chsh username

 freeheart 回复于:2002-04-29 22:19:50
1.maxbsd兄,用pivw添加用户时,不知该如何控制用户的主目录,好像并不单是由第9个字段决定,而是和第2个字段共同决定,不知对否?
2.尝试了sky5tar兄的方法,可是报程序出错:
total: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
-rwxrwxrwx: not found
./adduser.pl: 11: Syntax error: "(" unexpected
因为不懂perl,所以无法排除
另外总也弄不懂pw.conf与adduser.pl的关系,并且看不出用户的密码是怎么取出来的?


 freeheart 回复于:2002-04-30 16:22:10
问题得到解决了!
重新尝试了sky5tar兄的方法,终于可以了
先前失败的原因是不知该怎么执行该perl,应该是perl adduser.pl

 syzlmr 回复于:2003-05-25 02:22:17
我曾幫服務的學校寫了一個大量建帳號的程式,為了建置每學期
新進學生的帳號,修改一下應該可以符合你的需求

檔案下載 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.ltesting.net