來源:http://163.19.122.6/blog/index.php?op=ViewArticle&articleId=94&blogId=1
CentOS 5.0並無像B2D Server一樣,內建批次新增帳號的功能,為了解決眾多學生帳號一次建立的需求,請Google幫幫忙,後來找到「杜老爺特區」有談到一篇吳仁智老師所寫的「新增大量帳號」,利用一個script將所有建立帳號的命令寫在一起。在這裡做個記錄,給自己日後做參考。
一、處理欲建帳號之文字檔
將資料用Excel處理過,依照帳號、密碼、姓名進行編輯。
s92001 1234 林小明
s92002 1234 陳小雪
s92001 1234 王大文
另存成文字檔格式(Tab字元分隔),檔名為studata。
二、修改 awk script 檔案
參考吳仁智老師的「新增大量帳號程式」,其中的muser3.awk包含新增samba帳號及quota 限制,可將所有相關作業一次完成,甚為便利。
# 檔案名稱:muser3.awk(新增帳號用)
# 1: 增加 user ,設定群組名(s92),家目錄,姓名
# 2: 修改個人目錄的屬性 711 ,個人網頁部份 在 /etc/skel 目錄中加入
# 3: 給密碼
# 4: 在個人網頁目錄產生一個 index.html
# 5: 把 USER 的姓名加到 index.html 中
# 6: 把 index.html 的 權限給 user
# 7:以 wu 這個的人的quota 設定為範本, 複製給新 USER
# 8:利用 smbapsswd 同步建立 samba 的密碼
#
{print " adduser " $1 " -g s92 -d /home/s92/"$1 " -c '" $3 "'" }
{print " chmod 711 /home/s92/"$1}
{print " echo "$1":"$2 " | chpasswd" }
{print " touch /home/s92/"$1"/www/index.html"}
{print " echo " $3 " >> /home/s92/"$1"/www/index.html"}
{print " chown "$1".users /home/s92/"$1"/www/index.html"}
#{print "edquota -p wu " $1}
#{print "echo -e "" $2"n"$2 "" | smbpasswd -a -s " $1 }
檔案名稱:duser.awk(刪除帳號用)
# 刪除 user 的資料,包括 個人目錄
#
{print " userdel -r " $1 }
三、執行awk script 檔案
使用時,可輸入以下指令
awk -f muser.awk userlist | more /* 先預覽
awk -f muser.awk userlist | sh /* 執行
awk -f duser.awk userlist | sh /* 把檔案中的USER 刪掉