Linux下的使用者和檔案許可權管理
一、管理使用者賬號和組帳號
1.使用者帳號和組帳號概述
1.1使用者帳號
使用者賬號 |
特點 |
超級使用者 |
root使用者,負責系統管理和維護 |
普通使用者 |
由root建立,有限的許可權,一般只在自己的宿主目錄中擁有完整許可權 |
程式使用者 |
Linux系統自帶,不許登入到系統,僅用於維護系統或某個程式的正常執行 |
1.2組帳號
基本組(私有組):一個使用者帳號至少屬於一個組,許可權最大
附加組(公共組):一個使用者同時還包含在其他組中,這些組就屬於附加組
1.3UID和GID號
UID(User IDentity,使用者標識號)
GID(Group IDentify,組標識號)
root使用者賬號:0
程式使用者帳號:1~999(7.0以前版本1~499)
普通使用者賬號:1000~60000(7.0以前版本500~60000)
2.使用者賬號管理
2.1使用者帳號檔案
與使用者帳號相關的配置檔案主要有兩個,分別是/etc/passwd和/etc/shadow
(1)passwd檔案中的配置行格式
儲存使用者名稱稱、宿主目錄、登入Shell等基本資訊
用“:”進行分隔,每一段有每一段的含義,總共有七個欄位,每個欄位含義分別如下所述:
第一欄位:使用者帳號
第二欄位:密碼佔位符
第三欄位:使用者帳號ID
第四欄位:組帳號ID
第五欄位:使用者說明
第六欄位:宿主目錄
第七欄位:登入 Shell
(2)shadow檔案中的配置行格式
儲存使用者的密碼、賬號有效期等資訊
檔案的每一行內容包含九個用冒號“:”分隔的配置欄位,每個欄位的含義如下所述:
第一欄位:使用者帳號的名稱
第二欄位:加密的密碼字串資訊
第三欄位:上次修改密碼的時間
第四欄位:密碼的最短有效天數,預設值為0,表示不進行限制
第五欄位:密碼的最長有效天數,預設值為99999,表示不進行限制
第六欄位:提前多少天警告使用者口令將過期,預設值為7
第七欄位:在密碼過期之後多少天禁用此使用者
第八欄位:帳號失效時間,預設值為空
第九欄位:保留欄位(未使用)
2.2新增、修改、刪除使用者帳號
(1)useradd命令:新增使用者賬號
引數 |
作用 |
-d |
指定使用者的家目錄(預設為/home/username) |
-e |
賬戶的到期時間,格式為 YYYY-MM-DD. |
-u |
指定該使用者的預設 UID |
-g |
指定一個初始的使用者基本組(必須已存在) |
-G |
指定一個或多個擴充套件使用者組 |
-N |
不建立與使用者同名的基本使用者組 |
-s |
指定該使用者的預設 Shell 直譯器 |
(2)passwd命令:設定/更改使用者口令
引數 |
作用 |
-l |
鎖定使用者,禁止其登入 |
-u |
解除鎖定,允許使用者登入 |
--stdin |
允許通過標準輸入修改使用者密碼,如 echo "NewPassWord" | passwd –stdin Username |
-d |
使該使用者可用空密碼登入系統 |
-e |
強制使用者在下次登入時修改密碼 |
-S |
顯示使用者的密碼是否被鎖定,以及密碼所採用的加密演算法名稱 |
不指定使用者名稱時,修改當前賬號的密碼
(3)usermod命令:修改使用者賬號的屬性
引數 |
作用 |
-c |
填寫使用者賬戶的備註資訊 |
-d -m |
引數-m 與引數-d 連用,可重新指定使用者的家目錄並自動把舊的資料轉移過去 |
-e |
賬戶的到期時間,格式為 YYYY-MM-DD |
-g |
變更所屬使用者組 |
-G |
變更擴充套件使用者組 |
-L |
鎖定使用者禁止其登入系統 |
-U |
解鎖使用者,允許其登入系統 |
-s |
變更預設終端 |
-u |
修改使用者的 UID |
(4)userdel命令:刪除使用者賬號
引數 |
作用 |
-f |
強制刪除使用者 |
-r |
同時刪除使用者及使用者家目錄 |
3.組帳號管理
3.1組帳號檔案
與組賬號相關的配置檔案也有兩個,分別是/etc/group(儲存組帳號基本資訊)和/etc/gshadow(儲存組帳號的密碼資訊)
3.2新增、管理、刪除組帳號
(1)groupadd命令:新增組帳號
(2)gpasswd命令:新增、設定、刪除組帳號
-a:新增
-d:刪除
-M:同時新增多個帳號
(3)groupdel命令:刪除組帳號
4.查詢帳號資訊
4.1 groups命令:查詢使用者帳號所屬的組
4.2 id:查詢使用者帳號的身份標識
4.3 finger命令:查詢使用者帳號的登入屬性
如果沒有該命令的話,可以先安裝,如下:
安裝完成後,可以使用finger命令了,如下:
4.4 w命令:查詢當前主機的使用者登入情況
二、管理目錄和檔案的屬性
1.檢視目錄和檔案的屬性
儘管在 Linux 系統中一切都是檔案,但是每個檔案的型別不盡相同,因此 Linux 系統使用了不同的字元來加以區分,常見的字元如下所示。
- -:普通檔案。
- d:目錄檔案。
- l:連結檔案。
- b:塊裝置檔案。
- c:字元裝置檔案。
- p:管道檔案。
檔案的讀、寫、執行許可權可以簡寫為 rwx,亦可分別用數字 4、2、1 來表示,檔案所有者,所屬組及其他使用者許可權之間無關聯,如下表所示。
許可權項 |
讀 |
寫 |
執行 |
讀 |
寫 |
執行 |
讀 |
寫 |
執行 |
字元表示 |
r |
w |
x |
r |
w |
x |
r |
w |
x |
數字表示 |
4 |
2 |
1 |
4 |
2 |
1 |
4 |
2 |
1 |
許可權分配 |
檔案所有者 |
檔案所屬組 |
其他使用者 |
2.設定目錄和檔案許可權(使用chmod命令)
chmod [ugoa] [+-=] [rwx] 檔案或目錄...
或chmod nnn 檔案或目錄...
u、g、o、a 分別表示屬主、屬組、其他使用者、所有用
+、-、= 分別表示增加、去除、設定許可權
nnn:3位八進位制數
結合“-R”可進行遞迴修改,如下
3.設定目錄和檔案的歸屬(使用chown命令)
chown 屬主 檔案或目錄
chown :屬組 檔案或目錄
chown 屬主:屬組 檔案或目錄
-R:遞迴修改指定目錄下所有檔案、子目錄的歸屬