資料來源:
北市文山區力行國小顏國雄 http://mail.lsps.tp.edu.tw/~gsyan/freebsd2001/passwd-awk.html
| ||
2004/07/03 修改 | ||
怎麼能夠大量新增帳號是每個系統管理者頭痛的問題,Unix Like 的系統,大部份的工具都是命令列的方式,只要做輸出/入的重導其實應該可很容易做到批次處理,至於是用 shell script , perl , awk , php , 甚至是用 C 來寫都可以。這裡介紹利用 awk 批次新增帳號的方法。 awk 用來處理有固定格式的資料滿不錯的,我們可以指定要用什麼分隔符號將一行一行的資料分解成各個欄位,然後再這個資訊餵給管理帳號的程式即可達到我們批次管理的需求。 開始當然要知道自己有什麼資料,格式如何? 例如:以下為北市校務行政系統匯出 stu89.txt 資料的樣子
例如: 把 stu89.txt 上載到 server 的 /tmp 中以後,可以執行: awk '{print $1 "," $2 "," $3 "," $4 "\n"}' < /tmp/stu89.txt這樣會輸出: ......略awk 預設會以空白字元 (含 Tab) 當作欄位的分隔符號,以前面分解出來的欄位就夠我們在新增帳號的資訊,包括:
帳號管理的命令及參數在 FreeBSD 中用來新增帳號的程式有兩個:adduser 和 pw,後者不光是用來新增帳號而已,它是一個完整的帳號管理工具,一行指令即可完成帳號或群組的新增、刪除、修改,也是 ports 中用來新增/刪除服務帳號的預設工具,這裡,我們也選擇它來和 awk 搭配。新增群組及帳號FreeBSD 的 /usr/sbin/pw 執行時,後面可接的參數非常多,下面只列出我們應用時會使用的加以說明。pw groupadd [group] 刪除群組及帳號pw groupdel group 範例下面的三個小範例所需要的使用者資料檔可以利用北市國小校務行政系統匯出成文字檔的格式(固定欄寬,以空白分隔各欄位),也可以自行用 Excel 製作後另存成文字檔。資料檔中的使用者資料至少依序提供:學號、姓名、班級、座號等四個欄位,這樣密碼會由 pw 以亂數產生,也可以加上第五個欄位當密碼,如果想調整欄位的順序則自行設定第 21 行開始的各欄位的對映表,$1 , $2 , $3 , $4 , $5 分別代表資料依分隔符號分解完的欄位內容。 批次新增帳號指令稿使用方法假設上面的指令稿以 root 的身份存成 adduser.awk,先將它加上可執行的權限 批次刪除帳號指令稿使用方法假設上面的指令稿以 root 的身份存成 rmuser.awk,先將它加上可執行的權限 批次新增 samba 帳號指令稿這個其實是由 adduser.awk 改過來的,因為新增 samba 的本機帳號到 smbpasswd 中只需要帳號和密碼兩個欄位,所以看起來更簡單。使用時別忘了要修改 smbpassword = $1 這行,指定想當密碼的欄位。 使用方法假設上面的指令稿以 root 的身份存成 smbadduser.awk,先將它加上可執行的權限 已知問題
參考資料
|
2012年5月3日 星期四
批次建帳號─awk的應用
訂閱:
張貼留言 (Atom)
聲寶卡式濾心頭蓋
https://www.ruten.com.tw/item/show?22027794089976 在這裡買的接頭 https://www.ruten.com.tw/item/show?21814839221595 【品名】台製優質濾心頭蓋 (適用3M、EVERPURE濾心)功...
-
臺中市政府_行動辦公室(SSLVPN) 平時在家是無法連上電子公文系統 除非你能VPN連回學校或是申請台中市的.....忘記名稱了 現在不需要了 只要使用臺中市政府_行動辦公室(SSLVPN),在家也能輕鬆辦公。 是不是很興奮? 唉!!
-
如何將Synology NAS上的資料備份到Google 雲端硬碟(Google drive) 一、先至套件中心安裝Cloud Sync 套件。
沒有留言:
張貼留言