Solaris用戶管理(一):用戶與組管理


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)






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM