linux作為一個多使用者、多任務的伺服器作業系統,提供了嚴格的權限管理機制,主要從使用者身份、檔案權限兩方面對資源通路進行限制。
一、使用者賬号
1.賬号類型
超級使用者:root使用者是linux系統中預設的超級使用者賬号,對本主機擁有至高無上的權限,與windows中的administrator使用者
注:隻有需要進行系統管理、維護時,才建議使用root使用者登入系統,日常事務處理建議隻使用普通使用者賬号。
普通使用者:需要由root使用者或其他管理者使用者建立。
注:擁有的權限受到一定限制,一般隻有在使用者自己的宿主目錄中擁有完整權限。
程式使用者:在安裝linux系統及部分應用程式時,會添加一些特定的低權限使用者賬号。
注:這些使用者一般不允許登入系統,隻是用于維持系統或某個程式的正常運作。
2.使用者賬号檔案
(1)、/etc/passwd
用于儲存使用者名稱、宿主目錄、登入shell等基本資訊。
#head -2 /etc/passwd
root:X:0:0:root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
第一字段:使用者賬号的名稱
第二字段:經過加密的使用者密碼字串
第三字段:使用者賬号的UID(使用者辨別)号
第四字段:所屬基本組賬号的GID号
第五字段:使用者全名可填寫與使用者相關的說明資訊
第六字段:宿主目錄
第七字段:登入shell資訊
(2)、/etc/shadow
用于儲存使用者的密碼,賬号有效期等資訊。
#head-2 /etc/shadow
root:$1$55HB4pbx$acHqk4lZiHTZ9cw0ZJe8f0:14374:0:99999:7:::
bin:*:14374:0:99999:7:::
第一字段:使用者賬号名稱
第二字段:使用MD5加密的密碼字段資訊。(當為“*”或“!!”時表示此使用者不能登入到系統)。若該字段内容為空,則該使用者無需密碼即可登入系統。
第三字段:上次修改密碼的時間
第四字段:密碼的最短有效天數
第五字段:密碼的最長有效天數
第六字段:提前多少天警告使用者密碼将過期,預設7
第七字段:在密碼過期之後多少天禁用此使用者
第八字段:賬号失效時間,此字段指定了使用者廢棄天數,預設為空。
第九字段:保留字段,目前沒有特定用途
二、組賬号
基于某種特定聯系将多個使用者集中在一起,即構成一個組。
1.組賬号類型
(1)、基本組(UID)
UID是使用者賬号數字形式的身份标記。
每一個使用者賬号至少屬于一個組,這個組就是基本組。
對于系統核心來說,UID作為區分使用者的基本依據,原則上每個使用者的UID号應該是唯一的。root使用者賬号UID固定值為0,而程式使用者賬号UID預設1~499,500~60000 預設配置設定給普通使用者使用。
(2)、附加組(GID)
如果該使用者同時還包括在其他的組中,那麼其他的這些組被稱為附加組。
GID是組賬号數字形式的身份标記。
root組賬号的GID号固定值0,而程式組賬号的GID預設1~499,500~60000預設配置設定給普通使用者使用。
2.組賬号檔案
(1)、/etc/group
用于儲存組賬号名稱、GID号、組成員等基本資訊。
(2)、/etc/gshadow
用于儲存組賬号的加密密碼字串等資訊。
三、管理使用者群組賬号
(一)、使用者賬号
1.添加使用者賬号
#useradd 選項使用者名
選項:
-u:指定使用者的UID号
-d:指定使用者的宿主目錄位置
-e:指定使用者的賬戶失效時間,格式:YYYY-MM-DD
-g:指定使用者的基本組名(或使用GID号)
-G:指定使用者的附加組名(或使用GID号)
-M:不建立宿主目錄
-s:指定使用者的登入shell
2.為使用者賬号設定密碼
#passwd 選項使用者名
選項:
-d:清空指定使用者的密碼,僅使用使用者名即可登入系統
-l:鎖定使用者賬戶
-u:解鎖使用者賬戶
-S:檢視使用者賬戶的狀态(是否被鎖定)
附注:更改使用者名密碼
使用該使用者名登入,
#passwd
輸入舊密碼進行驗證
3. 修改使用者賬号屬性
注:添加使用者的選項該指令同樣可執行一定效果。
#usermod 選項參數
多餘選項:
-l:更改使用者賬号的登入名稱
-L:鎖定使用者賬戶
-U:解鎖使用者賬戶
4.***使用者賬号
#userdel –r 使用者名
(二)、組賬号管理
1.添加組賬号
#groupadd 組名
2.***組賬号
#groupdel 組名
3.添加組成員
#gpasswd –a 使用者名組名
附注:
同時添加多名組成員
#gpasswd –M 使用者名組名
4.***組成員
#gpasswd –d 使用者名組名
(三)、查詢賬号資訊
1.查詢指定使用者所屬的組
#groups 使用者名
2.查詢指定使用者賬号的UID、GID等辨別資訊
#id 使用者名
3.查新指定使用者登入屬性等詳細資訊。包括登入名稱、完整名稱、宿主目錄、登入shell等。
#finger 使用者名
4.查詢目前主機情況
#w
四、管理目錄和檔案屬性
1.檢視目錄和檔案屬性
#ls –ld /etc/passwd
- rw– r-- r-- 1 root root 2035 05-12 02:19 /etc/passwd
含義解釋:
第一個字元:表示檔案類型
檔案類型:
d(目錄)、b(塊裝置檔案)、c(字元裝置檔案)、“-”(普通檔案)、字母“l”(連結檔案)
第2~4個字元:表示該檔案的屬主使用者對該檔案的通路權限
第5~7個字元:表示該檔案的屬組内各成員使用者對該檔案的通路權限
第8~10個字元:表示其他任何使用者對該檔案的通路權限
權限字元在檔案和目錄的含義
權限
注解
數字形式
檔案
目錄
r
可讀
4
檢視檔案内容
檢視目錄内容(顯示子目錄、檔案清單)
w
可寫
2
修改檔案内容
修改目錄内容(在目錄中建立、移動、***檔案或子目錄)
x
可執行
1
執行該檔案(程式或腳本)
執行cd指令進入或退出該目錄
2.設定目錄和檔案的權限
第一種方法:
#chmod 【ugoa】【+-=】【rwx】檔案或目錄…
注解:
u:代表檔案屬主
g:代表檔案屬組内的使用者
o:代表其他任何使用者
a:代表所有使用者
+:代表增加相應權限
-:代表減去相應權限
=:代表進設定對應權限
第二種方法:
#chmod nnn(相應權限的數字形式)檔案或目錄…
“相關數字含義請查詢上面所寫的權限字元在檔案和目錄的含義”
在實際的目錄權限管理工作中,有事會需要将某一個目錄中的所有子目錄以及檔案的權限都設定為相同的值。
#chmod –R 權限目錄
3.設定目錄和檔案的歸屬
目錄和檔案歸屬的不同,使用者的權限相應也就不同。
#chown: [屬組] ] 檔案或目錄…
遞歸屬主或屬組:
#chmod –R 屬組或屬主目錄
同時設定屬組和屬主時
#chown 屬主:屬組目錄權限