在Red Hat Linux 下新增大量用戶

發表于:2007-05-26來源:作者:點擊數: 標簽:
作者:李 明 添加和刪除用戶對每位linux 系統管理員都是輕而易舉的事,比較棘手的是如果要添加幾十個、上百個甚至上千個用戶時,我們不太可能還使用useradd 一個一個地添加,必然要找一種簡便創建大量用戶的方法,Red Hat Linux 系統提供了創建大量用戶的工

作者:李 明

  添加和刪除用戶對每位linux 系統管理員都是輕而易舉的事,比較棘手的是如果要添加幾十個、上百個甚至上千個用戶時,我們不太可能還使用useradd 一個一個地添加,必然要找一種簡便創建大量用戶的方法,Red Hat Linux 系統提供了創建大量用戶的工具,可以讓您立即建立大量用戶,方法如下:

  (1)先編輯一個文本用戶文件,每一列按照/etc/passwd 密碼文件的格式書寫,要注意每個用戶的用戶名、UID、宿主目錄都不可以相同,其中密碼欄可以留作空白或打上x號,一個范例文件user.txt,內容如下:
  user001::600:100:user:/home/user001:/bin/bash
  user002::601:100:user:/home/user002:/bin/bash
  user003::602:100:user:/home/user003:/bin/bash
  user004::603:100:user:/home/user004:/bin/bash
  user005::604:100:user:/home/user005:/bin/bash
  user006::605:100:user:/home/user006:/bin/bash
  .............................................

  (2)以root 身份執行命令/usr/sbin/newusers,從剛建立的用戶文件user.txt 導入數據,建立用戶:
  # newusers < user.txt
  然后可以執行命令vipw 或vi /etc/passwd 檢查/etc/passwd 文件,是否已經出現這些用戶的數據,并且用戶的宿主目錄是否已經建立。

  (3)執行命令/usr/sbin/pwunconv,將/etc/shadow 產生的shadow 密碼解碼,然后回寫到/etc/passwd 中,并將/etc/shadow 的shadow 密碼欄刪掉。這是為了下一步驟的密碼轉換工作,即先取消shadow password 功能。
  # pwunconv

  (4)編輯每個用戶的密碼對照文件,一個范例文件passwd.txt,內容如下:
   user001:密碼
   user002:密碼
   user003:密碼
   user004:密碼
   user005:密碼
   user006:密碼
   .............

  (5)以root 身份執行命令/usr/sbin/chpasswd 建立用戶密碼,chpasswd 會將經過/usr/bin/passwd 指令編碼過的密碼寫入/etc/passwd 的密碼欄。
  # chpasswd < passwd.txt

  (6)確定密碼經編碼寫入/etc/passwd 的密碼欄后,執行命令/usr/sbin/pwconv 將密碼編碼為shadow password,并將結果寫入/etc/shadow。
  # pwconv

  這樣就完成了大量用戶的創建了,之后您可以到/home 下檢查這些用戶宿主目錄的權限設置是否都正確,并登錄驗證用戶密碼是否正確,這樣就可以輕松地通過Red Hat Linux自帶的工具建立大量用戶。

  您也可以使用大量建帳號的工具程序,如cmpwd,可從下面的網址下載得到: ftp://linux.tnc.edu.tw/pub/Sysop/ols3tools/cmpwd101.gz

  要注意的是這個工具程序的作者僅提供該程序給非盈利的學術教育單位免費使用,其他單位或個人不能用于商業目的,而且此版本只適用于linux 平臺。這里,筆者只想以此程序為例,讓讀者可以了解大量創建用戶的腳本怎樣去寫。

  通過上面創建大量用戶的過程相信讀者應該對在linux 下創建用戶的流程已經有了一個系統的了解,正常情況下如果要寫一個大量創建用戶的腳本,采取的方法都是建立一個用戶數據文件,而此數據文件必須依照字段排序好,然后管理員通過自己寫的腳本,依照每個字段去讀取這個數據文件的內容,依序建立用戶。通常像這類要處理大量字符串的腳本通常使用perl 語言來編寫,將已經建立好的用戶名稱、用戶密碼的數據文件讀入,將結果寫入/etc/passwd 與/etc/shadow 文件中。這種大量建立用戶的腳本難度在于如何將已建立好的用戶數據文件,依據/etc/passwd 的字段定義,一個一個地讀入/etc/passwd文件中,并將password 的字段編碼,最后通過pwconv 命令將數據轉換到/etc/shadow 文件中。

  至于腳本具體怎樣去寫這里不再詳細介紹,讓我們看一下cmpwd 這個工具程序的使用,希望可以給您一些啟發。
安裝方法:
  (1)將cmpwd101.gz 下載解壓(最好放在/root 目錄中),并賦予可執行權限。
  # gzip -d cmpwd101.gz
  # chmod u+x cmpwd101

  (2)在中文環境或.netterm 遠程登錄,以root 身份執行:
  # ./cmpwd101
  程序會彈出執行畫面,然后進入交互式的詢問模式:
  學生或其它身份文字代碼?(例: stu 或 tch 等)
  user
  學生年級?(例: 1 代表一年級,若是其它身份,可按Enter 不填)
  起始學號?(例: 650,若是其它身份,可選用其它號碼或按Enter 不填)
  開始的使用者編號(uid)? 例: 600(uid 概念請您務必弄清楚!)
  200
  欲開設的賬號數量?(例: 100 代表100 位使用者賬號)
  50
  宿主目錄位置? 例: /home(按Enter 預設為/home)
  密碼復雜度?(請輸入1~6)
  1 : 賬號和密碼相同,但不可用telnet 登入主機
  2 : 賬號和密碼部分相同
  3 : 密碼統一
  4 : 簡易
  5 : 中度
  6 : 安全
  2
  建賬完成!
  ...................

  注意:新創建的用戶密碼均記錄在您目前路徑下的newpwd.txt 文件中,你可以查看此文件獲得新創建用戶的密碼。
  至此,使用該程序創建大量用戶就完成了。需要說明的是,原程序這些提示信息為繁體中文,為了便于讀者理解改為簡體中文;另外,因為開發者是針對學校的應用開發,所以會有很多針對學生的設置。

  如果您也是一個教育工作者,那么可能這個工具程序正是您所需要的,否則,您也可以模仿這個程序寫一個適合于您當前應用的腳本。上面介紹了兩種大量創建用戶的方法,如果需要大量刪除用戶,我們可以從以下網址下載一工具程序ftp://linux.tnc.edu.tw/pub/Sysop/ols3tools/ols3delact-1.0.1.tar.gz

  使用方法如下:
  1.以root 身份登入系統,然后將程序解壓解包,并給予兩個腳本程序可執行權限,
  如下所示:
  # tar xvzf ols3delact-1.0.1.tar.gz
  # chmod u+x ols3scandir.pl
  # chmod u+x ols3delact.pl
  2.然后執行命令:
  # ./ols3scandir.pl /home
  Please check the file: "dir_list" and run ./delact.pl

  這個步驟用來掃描/home 下有哪些用戶的宿主目錄,注意,如果在您的系統中,用戶宿主目錄是建于其他目錄之下,那么相應的把/home 目錄改變為你所設置的存放用戶宿主目錄的目錄下。之后,它會將用戶宿主目錄名稱寫入當前目錄下的dir_list 文件中,您可以使用vi 來編輯它,將不想要刪除的用戶名稱去掉。

  3.執行./ols3delact.pl,即可根據dir_list 文件中的記錄刪除大量用戶。這個工具程序會保護:/home/ftp、/home/httpd、/home/lost+found、/home/adm、 /home/webadm、/home/webmaster 等目錄及用戶,不會予以刪除。如果您想添加其他特定的目錄及用戶,可以編輯ols3delact.pl 腳本。

  它完成以下幾件事:
  a. 刪除用戶宿主目錄
  b. 備份/etc/passwd、/etc/shadow、/etc/group 配置文件
  c. 將用戶記錄從/etc/passwd、/etc/shadow、/etc/group 文件中刪除
  注意:各個用戶存放郵件的目錄“var/spool/mail/用戶名”并沒有刪除,如果您要實現此功能,可以自行修改該工具程序的腳本文件增加此功能。該程序自動備份/etc/passwd、/etc/shadow 、/etc/group 文件的格式為: /etc/passwd-YYYYMMDDhhmmss,如:/etc/passwd-20030106160410,shadow、group 文件與此相同。

  通過這些方法大量添加、刪除用戶,可以大大提高網管工作的效率,如果您有興趣,
  不妨也試試。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97