在 unix-like 作業系統上大量建帳號

unix-like 作業系統上想要大量的開新的帳號,不是一件容易的事情,尤其是在 solaris 這種比較老一點的作業系統上,沒有其他工具程式的支援,只能自己寫一個 script 來做這一類的工作。

學校的計中之前和我說找不到之前使用的大量開使用者帳號的 script 了,所以只好要我自己寫一個來處理這方面的事情,之前就為了開某一門課程的工作站帳號,花了一段時間在研究開系統帳號的 script 要怎麼寫。

用 script 來開帳號,加新的帳號不是什麼問題,可以透過 useradd 這個指令來加,問題在於新帳號的密碼要怎麼指令,不能使用 passwd 來做,因為這支程式會要和使用者互動才能完成工作,碰到這個問題,有 2 種解決方法,一個是使用 expect 這個程式和 passwd 進行對話,完成修改新帳號密碼的工作,另一種方式則是透過 crypt() function 產生 shadow 檔中的資料,直接把產生出來的密碼值,插入到系統的 shadow 檔案中。

使用第 2 種方式的話,甚至可以完全不使用到 useradd 這支程式,把 script 完全使用 perl 或是 python 來寫,直接修改 passwd 和 shadow 檔,就可以完成開新帳號的工作。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: