熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何一次添加大量賬戶

2013-11-13 15:54:22  來源: Oracle 

  方法一
    一個系統管理者日常最常處理的工作便是管理使用者帳號了包含增加和減少使用者配置硬盤配額開啟個人首頁等等而在系統建置的初期面對要增加大量使用者而要回答adduser(useradd)的一些相關使用者信息便常要浪費相當多時間況且又沒有留下相關的記錄常讓系統管理者痛苦不已更別說後續的管理動作了
    pdadduser正可以解決這種困擾不僅可以依需要快速方便建立大量使用者帳號使用者的密碼可以是采隨機或指定的方式組成而帳號UID家目錄都可由系統管理者自行選擇設定並可以搭配相關指令使用深具彈性並留有相關的記錄可以大量減輕管理者負擔筆者在本文中將使用簡單的范例來說明在Linux和FreeBSD這兩套系統下的使用方式更詳細的說明可以參考~pdavis/
  
  安裝
    pdadduser目前最新的版本是但是經筆者測試某些系統版並無法執行此時請改用版〔筆者均mirror於〕此外由Linux和FreeBSD這兩套系統下建立使用者帳號並不盡相同所以筆者將分兩部分說明
  
   Linux 安裝
    step tar xvfz pdaddusertargz ← 解壓縮Pdadduser軟件
    step cd pdadduser ← 切換到pdadduser目錄中
    step make ← 編輯pdadduser
    step gcc pausec –o pause ← 有時該檔會有問題所以編輯一下
    當產生pdadduser pause 這兩個可執行檔即可
  
   FreeBSD 安裝
    step tar xvfz pdaddusertargz ← 解壓縮Pdadduser軟件
    step cd pdadduser ← 切換到pdadduser目錄中
    step gcc –Wall –I I pdadduser –o pdadduser ← 編輯pdadduser
    step gcc pausec –o pause ←編輯 pause
    當產生pdadduser pause 這兩個可執行檔即可
  
   指令格式
    pdadduser完整的指令格式如下筆者在本文中僅作簡單的說明更詳細的使用方式請參考解開的README
    pdadduser n [f ] [F ] [o ] [h homedirectoryformat>] [g ] [r ] [p ] [t] [d] c COMMAND [COMMAND ]
    選項說明
    n 使用者清單的文字文件檔案這是必需的例如檔案內容如下所示
    Peter Davis
    Joe Schmoe
    Jane Doe
    f 使用者名稱的組合格式格式定義如下
    $n第n個字(起始字是 $如果不存在則忽略
    %xn第n個字中第x個字符如果不存在則忽略
    例如 %$ 是取第個字中第個字符和第個字組合而成(預設也是如此)所以套用上面范例取得的使用者名稱分別是 `pdavis `jschmoe `jdoe%$ 是取第個字中第個字符和第個字組合而成所以套用上面范例取得的使用者名稱分別是 edavis schmoe edoe
    F 使用者全名的組合格式格式定義和 f 相同例如 $ $ 是取第個字空格和第個字組合而成(預設也是如此)所以套用上面范例取得的使用者全名分別是 Peter Davis Joe Schmoe Jane Doe而% $ 取得的是 P Davis J Schmoe J Doe
    o 輸出檔案包含使用者名稱密碼和錯誤訊息等請務必放置安全的地方當然有此檔案則系統管理者應可玩出一些把戲才是如果輸出檔名為 則僅自屏幕輸出筆者並不建議使用此外錯誤訊息如 !!!! 等請見下面范例可以提醒管理者注意
    h 使用者家目錄格式首先定義ㄧ些特殊字符如下
    u使用者名稱
    g使用者群組
    f使用者全名
    使用者家目錄格式格式定義如下
    $整個字
    %n字中第n個字符
    例如 /home/$g/$u 依上例是 /home/users/pdavis假設使用者名稱是 S家目錄希望是/home/users/S//S則格式應為 /home/users/%u/%u%u/$u預設格式是 /home/$u
    g 使用者群組
    r UID范圍預設是
    p 預設是系統隨機數產生當然也可自訂如 %xr 為隨機數產生 r 個字符預設是 個字符
    t測試模式並不真正增加使用者
    d除錯模式可看到每一指令的執行過程
    c COMMAND [COMMAND ]這是pdadduser最重要的部份也就是pdadduser提供相關的參數給COMMAND執行詳細的范例在下其中參數如下
    $u使用者名稱
    $p使用者密碼
    $i使用者UID
    $g使用者群組
    $f使用者全名
    $d使用者家目錄
  
   執行
    在了解指令的參數之後我們便可以利用pdadduser來新增使用者了但由於Linux和FreeBSD稍有不同筆者分別說明之
  
   Linux
    首先建立使用者清單的文字文件檔案范例如上取名 userlists另外筆者也建立一個shell可執行檔內容如下取名 pdalinux
    /pdadduser n $ o $ g users d c \
    /usr/sbin/adduser c $f u $i g $g d $d $u \
    (printf $p; /pause ; printf $p) | /usr/bin/passwd $u; \
    mkdir $d/public_html \
    cp lsamp $d/public_html/l \
    chown R $u$g $d/public_html \
    chmod $d \
    edquota p shie $u
    pdalinux執行檔的意思是/usr/sbin/adduser c $f u $i g $g d $d $u 增加使用者(printf $p; /pause ; printf $p) | /usr/bin/passwd $u; 變更使用者密碼mkdir $d/public_html cp lsamp $d/public_html/l chown R $u$g $d/public_html chmod $d制作個人首頁edquota p shie $u 復制shie的Quota樣板
    當然pdalinux是要修改才可以用到你的系統的如中的lsamp shie 等等執行的格式如下
    /pdalinux 使用者清單 輸出檔案
    如
    /pdalinux userlists accounts
    執行第一次pdalinux觀看輸出檔案 accounts內容如下
    Peter Davis: name=pdavis passwd=aacuug group=users uid= homedir=/home/pdavis
    Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid= homedir=/home/jschmoe
    Jane Doe: name=jdoe passwd=appymj group=users uid= homedir=/home/jdoe
    再執行ㄧ次後再觀察輸出檔 accounts 內容如下
    Peter Davis: name=pdavis passwd=aacuug group=users uid= homedir=/home/pdavis
    Joe Schmoe: name=jschmoe passwd=ogyjwm group=users uid= homedir=/home/jschmoe
    Jane Doe: name=jdoe passwd=appymj group=users uid= homedir=/home/jdoe
    !!!! Peter Davis: name=pdavis passwd=dedrnm group=users uid= homedir=/home/pdavis
    !!!! Joe Schmoe: name=jschmoe passwd=hfyhoy group=users uid= homedir=/home/jschmoe
    !!!! Jane Doe: name=jdoe passwd=ueixrd group=users uid= homedir=/home/jdoe
    由此可知此時新增使用者是會有問題的問題當然是重復了而有時密碼產生的太簡單時也是會有問題的再次提醒一次請務必該檔放置安全的地方
  
  方法二
    自動建立帳號中小學網管者的救星來了(一)
    A:使用環境:RedHat Linux+cle
    先把檔案抓回去![請按這裡](建帳號工具zip )
    以root權限進入linux
    將解開的檔案放到一個新建的 /work 目錄
     cd /work [進入 work目錄]
    chmod * [將所有script文件屬性改為 rwx]
    更改 /etc/profile裡的敘述
     PATH=$PATH:/usr/XR/bin 改為
     PATH=$PATH:/usr/XR/bin:/usr/sbin
     存盤後離開系統再重新以root登入
     #/cmenu 執行script檔
    選[]自動建立帳號
    選[]產生全校帳號
    您需求的規則: 例如英文字母:stu 最低年級: 最高年級: 每一年級的班級數目: 每一班學生人數: 然後就會以:群組+年級+班級+座號的規則建立帳號但目前尚無密碼也無法收發Email請回到主選單繼續
    在主選單中選[]批次更改使用者密碼(二)
    輸入群組名稱:stu 其它請依說明操作最後會產生一個pwtemp檔內容是使用者帳號以及群組+四位數密碼
    (參考資料:RedHat Linux隨裝即用賴阿福高健智著松崗)
  
  自動建立帳號中小學網管者的救星來了(二)
    A:接下來說明如何自動產生帳號通知單
    將產生的pwtemp文件拷貝到Win或WinNT上
    使用Excel或Access的匯入功能匯入到資料表中並分字段如編號姓名帳號密碼
    回到Word裡開啟新文件
    使用工具>合並打印
    簡單格式如下: >等代表合並之字段
    高雄市和平國小電子郵件帳號分配通知單
    使用者姓名> 配發日期//
    Email>@mailhppskhedutw
    服務器信息 From:http://tw.wingwit.com/Article/program/Oracle/201311/17489.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.