梁小芳的記事本

「上大聯盟不是夢想,是我的目標。」-松坂大輔

« 上一篇 | 下一篇»

CentOS 5.0大量帳號
文章作者: plrts @ 文章發表日期: 2008年 七月 11日 星期五 08:34:14

來源: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 刪掉

發表迴響
發表迴響

迴響發表後,需由作者審查後才上架,請勿重覆留言!

 authimage
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS