一、了解Solaris 10 用戶配置文件
1 、了解標準用戶
表-1 列出了系統在安裝過程中創建的標準用戶(其中所列內容與/etc/passwd文件的描述是一致的)。表中的組id號是用戶所在的首要組的代號。這是solaris安裝過程中自動設置的。
表-1 Solaris 系統標準用戶
用戶名 |
用戶id |
用戶組id |
用戶主目錄 |
shell 類型 |
root |
0 |
0 |
/root |
/sbin/sh |
bin |
2 |
2 |
/usr/bin |
|
daemon |
1 |
1 |
/ |
|
adm |
4 |
4 |
/var/adm |
|
sys |
3 |
3 |
/ |
|
lp |
71 |
8 |
/usr/spool/lp |
|
uucp |
5 |
5 |
/usr/lib/uucp |
|
nuucp |
9 |
9 |
/var/spool/uucppublic |
|
svctag |
95 |
12 |
/ |
|
webservd |
80 |
80 |
/ |
|
smmsp |
25 |
25 |
|
|
Gdm |
50 |
50 |
/ |
|
listen |
37 |
4 |
/usr/net/nls |
|
postgres: |
90 |
90 |
/ |
/usr/bin/pfksh |
nobody |
60001 |
60001 |
/ |
|
2 了解標準用戶組
表-2列出了系統安裝過程中創建的標準用戶組(其中就是/etc/group文件所描述的內容)。
組名稱 |
組ID |
用戶組成員 |
root |
0 |
root |
other |
1 |
root |
bin |
2 |
root,bin,daemon |
sys |
3 |
root,bin,adm |
adm |
4 |
root,daemon |
tty |
7 |
|
nuucp |
9 |
root |
lp |
8 |
daemon,lp |
staff |
10 |
|
daemon |
12 |
|
uucp |
14 |
uucp |
nogroup |
65534 |
|
smmsp |
25 |
|
noaccess |
60002 |
|
sysadmin |
14 |
|
webservd |
80 |
|
nobody |
60001 |
|
postgres |
90 |
|
gdm |
50 |
|
● /etc/passwd
與用戶相關的系統配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用戶資訊的加密文件,比如用戶的密碼口令的加密保存等;/etc/passwd 和/etc/shadow 文件是互補的。/etc/passwd 的內容簡介:
在/etc/passwd 中,每一行都表示的是一個用戶的信息;一行有7個段位;每個段位用:號分割,圖-1是我的系統中的/etc/passwd 的行;
![]() |
圖-1 /etc/passwd文件
第一字段:用戶名(也被稱為登錄名);在上面的例子中,我們看到用戶名是 cjh;
第二字段:口令;在例子中我們看到的是一個x,其實密碼已被映射到/etc/shadow 文件中;
第三字段:UID ,用戶ID,101;
第四字段:GID,組ID,1;
第五字段:用戶名全稱,這是可選的;
第六字段:用戶的家目錄所在位置;cjh這個用戶是/home/cjh ;
第七字段:用戶所用SHELL 的類型,cjh是 bash ;所以設置為/bin/sh ;
● /etc/shadow
/etc/shadow文件是/etc/passwd 的影子文件,這個文件并不由/etc/passwd 而產生的,這兩個文件是應該是對應互補的;shadow內容包括用戶及被加密的密碼以及其它/etc/passwd 不能包括的信息,比如用戶的有效期限等;這個文件只有root權限可以讀取和操作,權限如下:
# ls -l /etc/shadow
-r-------- 1 root root 1256 08-08 05:01 /etc/shadow
/etc/shadow 的權限不能隨便改為其它用戶可讀,這樣做是危險的。如果您發現這個文件的權限變成了其它用戶組或用戶可讀了,要進行檢查,以防系統安全問題的發生。
/etc/shadow 的內容分析;
/etc/shadow 文件的內容包括9個段位,每個段位之間用:號分割;我們以如圖-2的例子說明;
![]() |
圖 -2 /etc/shadow文件
第一字段:用戶名(也被稱為登錄名),在/etc/shadow中,用戶名和/etc/passwd 是相同的,這樣就把passwd 和shadow中用的用戶記錄聯系在一起;這個字段是非空的;
第二字段:密碼(已被加密),這個字段是非空的;
第三字段:上次修改口令的時間;這個時間是從1970年01月01日算起到最近一次修改口令的時間間隔(天數),您可以通過passwd 來修改用戶的密碼,然后查看/etc/shadow中此字段的變化;
第四字段:兩次修改口令間隔最少的天數;如果這個字段的值為空,帳號永久可用;
第五字段:兩次修改口令間隔最多的天數;如果這個字段的值為空,帳號永久可用;
第六字段:提前多少天警告用戶口令將過期;如果這個字段的值為空,帳號永久可用;
第七字段:在口令過期之后多少天禁用此用戶;如果這個字段的值為空,帳號永久可用;
第八字段:用戶過期日期;此字段指定了用戶作廢的天數(從1970年的1月1日開始的天數),如果這個字段的值為空,帳號永久可用;
第九字段:保留字段,目前為空,以備將來發展之用;
● /etc/group 簡介
/etc/group 文件是用戶組的配置文件,內容包括用戶和用戶組,并且能顯示出用戶是歸屬哪個用戶組或哪幾個用戶組,因為一個用戶可以歸屬一個或多個不同的用戶組;同一用戶組的用戶之間具有相似的特征。比如我們把某一用戶加入到root用戶組,那么這個用戶就可以瀏覽root用戶家目錄的文件,如果root用戶把某個文件的讀寫執行權限開放,root用戶組的所有用戶都可以修改此文件,如果是可執行的文件(比如腳本),root用戶組的用戶也是可以執行的;用戶組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關注的,如某個用戶下有對系統管理有最重要的內容,最好讓用戶擁有獨立的用戶組,或者是把用戶下的文件的權限設置為完全私有;另外root用戶組一般不要輕易把普通用戶加入進去,
● 理解/etc/group 內容
/etc/group 的內容包括用戶組(Group)、用戶組口令、GID及該用戶組所包含的用戶(User),每個用戶組一條記錄;格式如下:
group_name:passwd:GID:user_list
在/etc/group 中的每條記錄分四個字段:
第一字段:用戶組名稱;
第二字段:用戶組密碼;
第三字段:GID
第四字段:用戶列表,每個用戶之間用,號分割;本字段可以為空;如果字段為空表示用戶組為GID的用戶名;
舉個例子,如圖-3 。
![]() |
圖-3 /etc/group 內容
注:用戶組root,x是密碼段,表示沒有設置密碼,GID是0,root用戶組下包括root。
● /etc/skel 目錄;
/etc/skel目錄一般是存放用戶啟動文件的目錄,這個目錄是由root權限控制,當我們添加用戶時,這個目錄下的文件自動復制到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統一、標準的、默認的用戶環境;/etc/skel 目錄下的文件,用useradd 和adduser 命令添加用戶(user)時,系統自動復制到新添加用戶(user)的家目錄下;如果我們通過修改 /etc/passwd 來添加用戶時,我們可以自己創建用戶的家目錄,然后把/etc/skel 下的文件復制到用戶的家目錄下,然后要用chown 來改變新用戶家目錄的屬主;
二、Solaris 用戶、用戶組命令列表
Solaris提供了一個圖形配置工具:SMC。但是Solaris管理員還是應當使用專用命令完成Solaris用戶和用戶組的管理工作。Solaris用戶和用戶組管理命令和SMCr相比具有許多優點:
● 命令更加靈活,使用命令通常比使用SMC具有更多選項。
● 命令運行更快,不必等待Solaris處理圖形。
● SMC工具是另一層軟件,也是另一個出錯源。
表-3是 Solaris 用戶、用戶組管理命令列表
命令名稱 |
功能描述 |
useradd |
useradd命令用來建立用戶賬號和創建用戶的起始目錄。 |
userdel |
userdel命令用來刪除一個用戶。 |
usermod |
usermod命令修改已有用戶的信息,即更改用戶的有關屬性,如用戶id號、主目錄、用戶組、登錄shell等。 |
passwd |
passwd命令用來修改賬戶的登錄口令。 |
groupadd |
groupadd命令用來添加新組到系統中。 |
groupdel
|
groupdel命令用來刪除組賬戶。 |
groupmod |
groupmod命令用來修改用戶組的屬性。 |
vipw |
vipw命令可以直接編輯/etc/passwd文件。它允許超級用戶編輯系統口令文件/etc/passwd。默認編輯器是vi,在對/etc/passwd文件編輯時首先鎖定文件,編輯完成后再解鎖。這樣保障文件的一致性。vipw命令在功能上等同于命令“vi /etc/passwd”,但是安全性更高。 |
vigr |
vigr命令可以直接編輯/etc/group文件。vigr命令通常直接使用。只有一個選項“-v”顯示版本號。它通常允許root用戶編輯系統口令文件/etc/group。默認編輯器是vi,在對/etc/group文件編輯時首先鎖定文件,編輯完成后再解鎖。這樣保障文件的一致性。vigr命令在功能上等同于命令“vi /etc/group”,但是安全性更高。 |
newgrp |
newgrp命令用來轉換用戶的當前組到指定的組賬戶。用戶必須屬于該組才能執行。 |
groups |
groups命令顯示指定用戶所屬的組,如果沒有指定則顯示當前用戶所屬的組。
|
who |
who命令用來顯示系統中有哪些用戶登錄系統及其修改信息。 |
pwck |
pwck命令用于檢測用戶賬號信息的完整性。 |
grpck |
grpck命令用于檢測用戶組賬號信息的完整性。 |
id |
id命令用來顯示用戶當前的gid、uid、用戶所屬的組列表。 |
su |
su命令用來讓用戶暫時變更登入的身份。 |
3了解solaris 10 用戶、用戶組配置文件