一、用戶管理基礎
在Linux環境下對用戶的管理有多種方式,包括用編輯工具Vi、emacs等對/etc/passwd進行操作或直接使用addusr、deleusr等用戶管理命令以及使用pwconv命令使/etc/passwd與shadow文件保持一致。我們先來看看Linux下用戶管理的常用操作都做了些什麼吧。
1、增加用戶
增加用戶有三個過程:
(1) 在/etc/passwd文件中寫入新用戶的入口項。
(2) 為新登錄用戶建立一個HOME目錄。
(3) 在/etc/group中為新用戶增加一個入口項。
在/etc/passwd文件中寫入新的入口項時,口令部分可先設置為NOLOGIN, 以免有人做為此新用戶登錄。新用戶一般獨立為一個新組,GID號與UID號相同(除非他要加入目前已存在的一個新組),UID號必須和其他人不同,HOME目錄一般設置在/usr 或/home目錄下,建立一個以用戶登錄名為名稱的目錄做為其主目錄。
2、刪除用戶
刪除用戶與加用戶的工作正好相反,首先在/etc/passwd和/etc/group文件中刪除用戶的入口項,然後刪除用戶的HOME目錄和所有文件。
rm -r /usr/loginname 刪除用戶的整個目錄。
/usr/spool/cron/crontabs中有crontab文件,也應當刪除。
3、將用戶移到另一個系統
這是一個復雜的問題,不只是拷貝用戶的文件和用戶在/etc/passwd文件中的入口項。首先一個問題是用戶的UID和GID可能已經用於另一個系統,若是出現這種情況,必須給要移動的用戶分配另外的UID和GID,但如果改變了用戶的UID 和GID,就必須搜索該用戶的全部文件,將文件的原UID和GID改成新的UID和GID。 用find命令可以完成這一修改:
find . -user olduid -exec chown newuid {} ;
find . -group oldgid -exec chgrp newgid {} ;
也許還要為用戶移走下面的一些文件:
/usr/mail/user和/usr/spool/cron/crontabs/user。
如果用戶不是從本系統管理員的系統移來,則應對該用戶的目錄結構運行程序檢查。一個不安全系統的用戶,可能有與該用戶其它文件存在一起的SUID/SGID程序,而這個SUID/SGID程序在別的系統中可能屬於另一個用戶。在這種情況下,如果 用cpio或tar命令將用戶的目錄結構拷貝到本系統,SUID/SGID程序也將會拷貝到本系統而沒有任何警告信息。應在允許用戶使用新系統以前先刪除這種文件的SUID/SGID許可。總之,始終堅持檢查所移用戶的文件是一種更安全的方法。也可以用su命令進入用戶的戶頭,再拷貝用戶文件,這樣文件的所有者就是該用戶,而不是root 。這些操作過程有些過於復雜,當然用adduser和deleuser也不是很簡單。下面我給大家介紹一個Linux的遠程管理軟件webmin,它為用戶提供了基於WEB管理界面,不僅簡化了用戶管理,更重要的是它將整個Linux系統的管理都集成到了一個統一的管理界面中。
二、安裝Webmin
首先將軟件包解壓強:tar –xzvf 55248webmin-0.85.tar.gz ,在當前目錄下產生一個webmin-0.85的子目錄,注意:webmin-0.85是用perl腳本語言編寫的,因此在系統中要先安裝Perl。
webmin全部是用Perl編寫的,因此在初次運行前需要進行一些設置。執行setup.sh程序對Webmin進行配置:
1、Config file Directory [/etc/webmin]: 將配置文件放在哪個目錄下,直接回車就選擇了默認的目錄是/etc/webmin。
2、Log file directory [/var/webmin]: 將日志文件放在哪個目錄下,默認的目錄是/var/webmin。
3、Full path to perl (default /usr/bin/perl):這裡詢問你Perl的安裝位置,輸入正確的路徑名即可。如果不知道,可以先查看Perl是否在默認的目錄下,否則用find / -name perl在硬盤中查找。
4、選擇當前的操作系統:筆者用的是紅帽子,所以就選4啦。
1) Sun Solaris 2) Caldera OpenLinux eServer
3) Caldera OpenLinux 4) Redhat Linux
5) Slackware Linux 6) Debian Linux
7) SuSE Linux 8) Corel Linux
9) TurboLinux 10) Cobalt Linux
11) Mandrake Linux 12) Delix DLD Linux
13) Conectiva Linux 14) MkLinux
15) LinuXPPC 16) XLinux
17) LinuxPL 18) Linux From Scratch
19) Trustix 20) Cendio LBS Linux
21) Ute Linux 22) FreeBSD
23) OpenBSD 24) BSDI
25) HP/UX 26) SGI Irix
27) DEC/Compaq OSF/1 28) IBM AIX
29) SCO UnixWare 30) SCO OpenServer
31) MacOS Server X
5、是不是有些煩人,它還要知道紅帽子的版本號。一定要告訴它喲,它可沒有那麼智能,選錯了它有可能會罷工的:
1) Redhat Linux 4.0 2) Redhat Linux 4.1
3) Redhat Linux 4.2 4) Redhat Linux 5.0
5) Redhat Linux 5.1 6) Redhat Linux 5.2
7) Redhat Linux 6.0 8) Redhat Linux 6.1
9) Redhat Linux 6.2 10) Redhat Linux 7.0
11) Redhat Linux 7.1
6、下面是服務端口的設置和管理用戶的設置:
Web server port (default 10000):
Login name (default admin):
Login passWord:
Password again:
默認的端口號是10000,一般不用去改它。
用戶名的默認值是admin,用戶也可以改為自己常用的用戶名,接下來就是用戶口令了,重復輸入一次確認口令正確無誤。管理員一定要記住用戶名和密碼,在客戶端通過WEB啟動管理界面時程序會要求輸入用戶名和密碼的,如果忘了就只有重新安裝webmin了。
7、Web server hostname (default Webmin): 服務器的名字,就用默認值吧。
8、Start Webmin at boot time (y/n): 是否在每次啟動時都運行wbmin,這就隨你了。
至此,Webmin的服務端就設置完成了。
三、啟動/關閉服務端程序
在webmin的安裝目錄下有一個名為webmin-init的可執行程序,啟動和關閉服務程序就靠它了。
啟動服務程序命令:webmin-init start;
關閉服務程序命令:webmin-init stop。
四、啟動管理界面
在客戶端打開IE,輸入安裝了Webmin的Linux主機IP地址:http://192.168.3.2 :10000,出現了登錄介面,要求輸入用戶名及口令:
輸入正確的用戶名及口令後進入管理介面:
初次進去請選擇左邊的”Webmin Configuration”,對管理界面的基本情況進行設置。
首選點擊”Language”選擇自己熟悉的一門語言做為界面語言吧。然後再回到首頁看看。現在我們又看到了熟悉的中文介面了:
要添加用戶嗎?點擊“系統”吧。
你可能已經從上圖中看到webmin的強大功能了,管理用戶的功能在“用戶與群組”中。
五、用webmin管理用戶
好的,點擊”用戶與群組”圖標吧。接著出現的頁面可以分為兩部分:用戶管理和組管理。
在用戶管理下面有兩個選項,分別為”建立新用戶”和”creat,modify and delete users from batch file”。下面我們以創建新用戶為例說明如何使用webmin。點擊”建立新用戶” ,web界面如下:
首先添寫用戶的詳細信息,包括用戶名、用戶ID(這裡系統自動生成了一個ID,用戶也可以修改)、真實姓名、用戶根目錄(如果用戶不確定也可以點擊旁邊的小圖標,通過浏覽Linux的目錄來選擇用戶的根目錄)、shell(為每個用戶指定不同的shell,在旁邊已經列出在bin目錄中的已有shell,如果還有shell在其它目錄,可以點擊”其它”旁邊的小圖標選擇)、密碼。
接著填寫用戶的口令選項、將用戶放在哪個組中及在建立時是否建立用戶根目錄等。這些信息全部填寫完畢,點擊”確定”就創建了一個新用戶。
創建用戶的過程是這樣的,但”creat,modify and delete users from batch file”是做什麼用的呢?原來,這個功能向用戶提供了一次性大批量的創建、刪除、修改用戶的功能,這是通過一個batch文件來實現的,用戶事先編輯好這個batch文件,然後通過這個頁面交給程序在Linux上執行。
創建用戶組的頁面如下:
這裡需要對”成員”這一項進行說明,要向該組中添加成員點擊旁邊的小圖標,於是會彈出一個新窗口:
在這裡添加用戶到該組中。
同樣,改變用戶和刪除用戶也只需點擊鼠標這麼簡單了。怎麼樣,現在用戶的管理是不是變得很方便呢?