歡迎您光臨本站 註冊首頁

如何一次添加大量賬戶

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  方法一:
  一個系統管理者日常最常處理的工作便是管理使用者帳號了,包含增加和減少使用者、配置硬碟配額、開啟個人首頁等等,而在系統建置的初期面對要增加大量使用者而要回答adduser(useradd)的一些相關使用者信息便常要浪費相當多時間,況且又沒有留下相關的記錄,常讓系統管理者痛苦不已,更別說後續的管理動作了。
  pdadduser正可以解決這種困擾,不僅可以依需要快速方便建立大量使用者帳號,使用者的密碼可以是采隨機或指定的方式組成,而帳號、UID、家目錄都可由系統管理者自行選擇設定,並可以搭配相關指令使用,深具彈性,並留有相關的記錄,可以大量減輕管理者負擔。筆者在本文中將使用簡單的範例來說明在Linux和FreeBSD這兩套系統下的使用方式,更詳細的說明可以參考http://ghs.ssd.k12.wa.us/~pdavis/。

安裝
  pdadduser目前最新的版本是1.2,但是經筆者測試,某些系統1.2版並無法執行,此時請改用1.1版〔筆者均mirror於http://mouse.oit.edu.tw/sources/pdadduser〕,此外由Linux和FreeBSD這兩套系統下建立使用者帳號並不盡相同,所以筆者將分兩部分說明。

1.1 Linux 安裝
  step 1. tar xvfz pdadduser-1.2.tar.gz ← 解壓縮Pdadduser軟體
  step 2. cd pdadduser-1.2 ← 切換到pdadduser-1.2目錄中
  step 3. make ← 編輯pdadduser
  step 4. gcc pause.c ?o pause ← 有時該檔會有問題,所以編輯一下
  當產生pdadduser, pause 這兩個可執行檔即可。

1.2 FreeBSD 安裝
  step 1. tar xvfz pdadduser-1.1.tar.gz ← 解壓縮Pdadduser軟體
  step 2. cd pdadduser-1.1 ← 切換到pdadduser-1.2目錄中
  step 3. gcc ?Wall ?I- -I. pdadduser ?o pdadduser ← 編輯pdadduser
  step 4. gcc pause.c ?o pause ←編輯 pause
  當產生pdadduser, pause 這兩個可執行檔即可。

2 指令格式
  pdadduser完整的指令格式如下,筆者在本文中僅作簡單的說明,更詳細的使用方式請參考解開的README。
  pdadduser -n [-f ] [-F ] [-o ] [-h home-directory-format>] [-g ] [-r ] [-p ] [-t] [-d] -c COMMAND1 [COMMAND2 ...]
  選項說明:
  -n :使用者清單的文字文件檔案,這是必需的,例如檔案內容如下所示:
  Peter Davis
  Joe Schmoe
  Jane Doe
  -f :使用者名稱的組合格式,格式定義如下:
  $n:第n個字(起始字是 $0),如果不存在則忽略
  %x.n:第n個字中第x個字元,如果不存在則忽略
  例如 %0.0$1 是取第0個字中第0個字元和第1個字組合而成(預設也是如此),所以套用上面範例取得的使用者名稱分別是 `pdavis, `jschmoe, `jdoe;%3.0$1 是取第0個字中第3個字元和第1個字組合而成,所以套用上面範例取得的使用者名稱分別是 edavis, schmoe, edoe。
  -F :使用者全名的組合格式,格式定義和 -f 相同,例如 $0 $1 是取第0個字空格和第1個字組合而成(預設也是如此),所以套用上面範例取得的使用者全名分別是 Peter Davis, "Joe Schmoe, Jane Doe;而%0.0. $1 取得的是 P. Davis, J. Schmoe, J. Doe。
  -o :輸出檔案,包含使用者名稱、密碼和錯誤訊息等,請務必放置安全的地方,當然有此檔案則系統管理者應可玩出一些把戲才是。如果輸出檔名為 - 則僅自屏幕輸出,筆者並不建議使用。此外錯誤訊息如 !2!!235! 等,請見下面範例,可以提醒管理者注意。
  -h :使用者家目錄格式,首先定義ㄧ些特殊字元如下:
  u:使用者名稱
  g:使用者群組
  f:使用者全名
  使用者家目錄格式,格式定義如下:
  $:整個字
  %n:字中第n個字元
  例如 /home/$g/$u 依上例是 /home/users/pdavis;假設使用者名稱是 S9351033,家目錄希望是/home/users/S/93/S9351033,則格式應為 /home/users/%0u/%1u%2u/$u。預設格式是 /home/$u。
  -g :使用者群組。
  -r :UID範圍,預設是500到1000。
  -p :預設是系統隨機數產生,當然也可自訂,如 %xr 為隨機數產生 r 個字元,預設是 6 個字元。
  -t:測試模式,並不真正增加使用者。
  -d:除錯模式,可看到每一指令的執行過程。
  -c COMMAND1 [COMMAND2 ...]:這是pdadduser最重要的部份,也就是pdadduser提供相關的參數給COMMAND執行,詳細的範例在下。其中參數如下:
  $u:使用者名稱
  $p:使用者密碼
  $i:使用者UID
  $g:使用者群組
  $f:使用者全名
  $d:使用者家目錄

3 執行
  在了解指令的參數之後,我們便可以利用pdadduser來新增使用者了,但由於Linux和FreeBSD稍有不同,筆者分別說明之。

3.1 Linux
  首先建立使用者清單的文字文件檔案,範例如上,取名 userlists;另外筆者也建立一個shell可執行檔,內容如下,取名 pda4linux。
  ./pdadduser -n $1 -o $2 -g users -d -c \
  /usr/sbin/adduser -c "$f" -u $i -g $g -d $d $u \
  (printf "$p"; ./pause 1; printf "$p") | /usr/bin/passwd $u; \
  mkdir $d/public_html \
  cp index.html.samp $d/public_html/index.html \
  chown -R $u.$g $d/public_html \
  chmod 755 $d \
  edquota -p shie $u
  pda4linux執行檔的意思是,/usr/sbin/adduser -c "$f" -u $i -g $g -d $d $u 增加使用者,(printf "$p"; ./pause 1; printf "$p") | /usr/bin/passwd $u; 變更使用者密碼,mkdir $d/public_html cp index.html.samp $d/public_html/index.html chown -R $u.$g $d/public_html chmod 755 $d,製作個人首頁,edquota -p shie $u 複製shie的Quota樣板。
  當然pda4linux是要修改才可以用到你的系統的,如中的index.html.samp, shie 等等。執行的格式如下:
  ./pda4linux 使用者清單 輸出檔案
  如:
  ./pda4linux userlists accounts
  執行第一次pda4linux觀看輸出檔案 accounts內容如下:
  Peter Davis: name=pdavis passwd=aacuug group=users uid=500 homedir=/home/pdavis
  Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid=501 homedir=/home/jschmoe
  Jane Doe: name=jdoe passwd=appymj group=users uid=502 homedir=/home/jdoe
  再執行ㄧ次后,再觀察輸出檔 accounts 內容如下:
  Peter Davis: name=pdavis passwd=aacuug group=users uid=500 homedir=/home/pdavis
  Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid=501 homedir=/home/jschmoe
  Jane Doe: name=jdoe passwd=appymj group=users uid=502 homedir=/home/jdoe
  !1!!256! Peter Davis: name=pdavis passwd=dedrnm group=users uid=503 homedir=/home/pdavis
  !1!!256! Joe Schmoe: name=jschmoe passwd=hfyhoy group=users uid=503 homedir=/home/jschmoe
  !1!!256! Jane Doe: name=jdoe passwd=ueixrd group=users uid=503 homedir=/home/jdoe
  由此可知此時新增使用者是會有問題的,問題當然是重複了,而有時密碼產生的太簡單時也是會有問題的,再次提醒一次請務必該檔放置安全的地方。

方法二、
  自動建立帳號--中小學網管者的救星來了(一)
  A:使用環境:RedHat Linux+cle
  1.先把檔案抓回去![請按這裡](http://netlab.kh.edu.tw/download/建帳號工具.zip )
  2.以root許可權進入linux
  3.將解開的檔案放到一個新建的 /work 目錄
  4. cd /work [進入 work目錄]
  5.chmod 700 * [將所有script文件屬性改為 -rwx------]
  6.更改 /etc/profile里的敘述
   PATH="$PATH:/usr/X11R6/bin" 改為
   PATH="$PATH:/usr/X11R6/bin:/usr/sbin"
   存檔后離開系統再重新以root登入
  7. #./cmenu 執行script?n
  8.選[1]自動建立帳號
  9.選[3]產生全校帳號
  10.您需求的規則: 例如英文字母:stu ,最低年級:1 , 最高年級:6 , 每一年級的班級數目: 9, 每一班學生人數:50, 然後就會以:群組+年級+班級+座號的規則建立帳號,但目前尚無密碼,也無法收發E-mail,請回到主選單繼續.
  11.在主選單中選[4]批次更改使用者密碼(二)
  12.輸入群組名稱:stu , 其它請依說明操作,最後會產生一個pwtemp?n,內容是使用者帳號以及群組+四位數密碼.
  (參考資料:RedHat Linux隨裝即用.賴阿福.高健智著,松崗)

自動建立帳號--中小學網管者的救星來了(二)
  A:接下來說明如何自動產生帳號通知單.
  1.將產生的pwtemp文件拷貝到Win98或WinNT上
  2.使用Excel或Access的匯入功能匯入到資料表中並分欄位如編號、姓名、帳號、密碼.
  3.回到Word里開啟新文件.
  4.使用工具->合併列印
  5.簡單格式如下: >等代表合併之欄位
  高雄市和平國小電子郵件帳號分配通知單
  使用者姓名:> 配發日期:1999/9/15
  E-mail:>@mail.hpps.kh.edu.tw
  伺服器信息:
  內送郵件→POP3 :mail.hpps.kh.edu.tw
  外寄郵件→SMTP :mail.hpps.kh.edu.tw
  內送郵件伺服器帳號:> 密碼:>

6.合併完會產生一份新文件,您可以檢查結果是否正確.


[火星人 ] 如何一次添加大量賬戶已經有445次圍觀

http://coctec.com/docs/linux/show-post-70030.html