Solaris用戶管理(一):用戶與組管理
2008-07-01 09:19
用戶管理是系統管理的基礎。Solaris中不但支持傳統Unix所支持的用戶和組的概念,還從Solaris 8開始引入了基於角色的訪問控制(RBAC),提供了一種更加安全、靈活的方式來進行權限分配和管理。
先看看Solaris下的基本用戶管理。(詳細的資料能夠自行查閱man手冊)
Solaris 下的基本用戶管理體系包括/etc目錄下的passwd、group和shadow三個配置文件,以及useradd、usermod、userdel、 passwd、groupadd、groupmod和groupdel七個基本命令,以及groups等輔助命令組成。
1配置文件
1.1passwd
/etc/passwd文件中保存了最基本的用戶信息,包括用戶名、密碼、用戶id等等,該文件由一系列的記錄組成,每一個記錄佔據一行,其格式爲:
用戶名:密碼:用戶ID:用戶所在組ID:註釋:用戶主目錄:使用的shell
其中,用戶名就是一般使用的登陸名了,而所謂的註釋也一般被稱做用戶的全名。這裏須要說起的是密碼一項。爲了安全起見,密碼已經再也不已明文的形式存放在passwd文件中,而是被保存到了/etc/shadow文件中,在這裏用一個字母「x」進行表示。
1.2shadow
/etc/shadow文件中存儲了加密後的用戶密碼,而且(默認)僅有root用戶是可讀的。該文件一樣由一系列記錄組成,每一個記錄佔據一行,格式以下:
用戶名:密碼:上次修改密碼的時間:兩次密碼修改最小間隔天數:密碼有效天數:密碼過時前進行警告的天數:最大連續不登陸天數:密碼過時的絕對日期:登陸失敗次數
其中,登陸失敗次數暫未使用,而全部的相對時間都是從1970年1月1日起計數的。
1.3group
/etc/group文件中存儲了用戶組的信息,該文件有一系列記錄組成,每一條記錄佔據一行,格式以下:
組名:密碼:組ID:用戶列表
這裏,用戶列表中的每一個用戶之間用逗號「,」進行分隔。
須要指出的是,在passwd文件中標識的用戶組爲該用戶所在的主組,而每一個用戶能夠同時出如今多個組中,須要經過group文件進行存儲。
2基本命令
2.1用戶管理命令
基本的用戶管理命令包括useradd、usermod、userdel和passwd四條。
useradd命令的基本用法以下所示:
useradd [-u uid | -g gid | -d dir | -s shell | -c comment | -m] usrname
其中,uid爲用戶ID,gid爲用戶主組ID,dir爲用戶的主目錄,comment爲註釋(一般爲用戶全名),加上-m選項表示建立用戶主目錄,usrname則爲用戶的登陸名。
在建立好用戶後,一般須要使用passwd命令爲用戶設置初始密碼:
passwd usrname
須要根據系統提示重複輸入兩次密碼便可。
*忘記root密碼的解決方法:重啓計算機,選擇進入failsafe模式,而後根據提示,將根目錄掛在到/a目錄下,修改/a/etc/passwd文件,將其中root那一項的密碼留空便可。
此外,使用命令passwd -l usrname還可以將賬號臨時鎖定,知道管理員爲其從新設定密碼爲止。通常的,建議不要輕易刪除用戶,而是使用該命令將其臨時鎖定便可。
建立好用戶後,還可使用usermod命令來修改其基本信息,該命令的參數和useradd命令的相似,就再也不贅述了。惟一須要指出的是,usermod命令能夠經過-l參數來修改用戶名。
若是實在但願刪除某個用戶,就可使用userdel命令:
userdel [-r] usrname
若是加上-r選項,則會在刪除該用戶的同時刪除該用戶的主目錄。
2.2組管理命令
基本的組管理命令包括groupadd、groupmod和groupdel三條。
建立組的groupadd格式以下:
groupadd -g gid grpname
這裏的gid爲組ID,若是再加上-o選項則代表該組ID能夠重複(不太清楚這樣設置的目的*_*)。
修改組屬性的groupmod命令格式以下:
groupmod [-g gid] [-n newgrpname] grpname
最後,可使用groupdel命令刪除一個組:
groupdel grpname
2.3輔助命令
除了使用上述基本命令以外,還可使用其餘一些命令查看用戶和組的信息,經常使用的包括如下一些。
查看用戶所屬的所有組:groups usrname
查看組的信息:getent group grpname
查看當前登陸用戶信息:id
切換到其餘組:newgrp grpname
查看最近登陸的用戶:last
當前登陸用戶:who
---------------------------------------
/home is an auto mount directory. The home directory for user in Solaris should be created in /export/home
/home 已被automount用了,因此不能在這裏建目錄,若是非要使用/home,把/etc/auto_master文件的
/home auto_home 這一行註釋掉。
2.4 刪除用戶
#userdel dave
而後再刪除dave用戶的主目錄/home/dave。也可使用選項」r」來一步完成。
#userdel -r dave
注:若是該用戶正在鏈接,是刪不掉的,咱們能夠先kill 掉該用戶。 在刪。
# who
root console 3月 18日 10:06 (:0)
dave pts/2 3月 18日 10:19 (10.85.10.80)
root pts/4 3月 18日 10:07 (:0.0)
#ps -t pts/2
PID TTY TIME CMD
1118 pts/2 0:00 ps
1112 pts/2 0:00 bash
#kill -9 1118
#kill -9 1112
# who
root console 3月 18日 10:06 (:0)
root pts/4 3月 18日 10:07 (:0.0)