一、Linux用戶、組的概念
1.用戶
管理員:root,0
其他用戶:1-65535
系統用戶:1-499,守護進程獲取資源進行權限分配
普通用戶:500+,交互式登陸
2.組
管理員組:root,0
其他用戶:1-65535
系統用戶組:1-499
普通用戶組:500+
note:關於uid,gid的範圍可以參考/etc/login.def
3.Linux安全上下文
進程所能夠訪問的所有資源的權限取決於進程的發起者,如head -5 /etc/shadow,
這個命令,root及chen兩個用戶執行的結果是不一樣的
二、Linux用戶/組的相關文件
1./etc/passwd:存儲用戶屬性信息,包含下面7個字段
account: 賬號名稱;password:用戶密碼佔位符;UID:用戶ID;GID:組ID;GECOS:用戶信息;directory:用戶家目錄;shell:用戶登陸shell;
2./etc/group:存儲組及屬性信息,包含下面4個字段
group_name:組名稱;passwd:用密碼;GID:組的ID;user_list:哪些用戶屬於這些組
3./etc/shadow:存儲用戶密碼屬性信息,包含下面9個字段
login_name:用戶名稱;encrypted password:用戶加密後的密碼;
date of last password change:指一次修改密碼跟1970/1/1號的累加天數
minimum password age:密碼最短使用期限,若2的話指必須兩天才能修改密碼,0表示隨時可以改密碼
maximum password age:密碼最長使用期限,默認爲99999,表示用戶密碼永遠不會過期
password warning period:表示密碼過期前多少天開始報警,默認爲7,指密碼過期前7天會提醒用戶
password inactivity period:用戶的非活動期限,期間用戶只要一登陸系統就會被要求修改密碼,過了這段時間若還沒修改密碼,密碼則會過期
account expiration date:賬號過期時間,只要過了這個時間點用戶就能再使用用戶了
reserved field:預留字段,以備將來使用
4./etc/gshadow:存儲組密碼屬性信息,
group_name:組名稱;encrypted password加密密碼;設置有管理權限的用戶列表: 調協組成員列表
三、Linux用戶/組相關的命令:
1.useradd option login
常用參數:
-u:用戶uid
-g:基本gid
-c:用戶其信息
-G:用戶附加組信息,一個用戶可以有多個附加組
-d:用戶家目錄
-s:用戶shell
-r:創建系統用戶
note:useradd -D會修改 /etc/default/useradd的數據,-D並不能直接應用於用戶
2.groupadd [options] group
常用參數:
-g:指定GID
-r:創建系統組
3.usermod [options] login
常用參數:
-u:新uid
-g:新基本gid
-G:新的加附組,組必須先存在。默認情況下會覆蓋原來組,若要保留原有的組則在要結合-a一起使用,即爲append
-c:新註解信息
-d:用戶家目錄,需要結合選項-m一起使用,否則不會將家目錄原有所有的文件移到新家目錄下
-s:shell名稱
-l:新的名稱,不會改變家目錄
-L:lock指定用戶,即密碼過期,用戶將不能登陸系統
-U:unlock指定用戶
-e:賬號過期時間,用戶將不可用
-f:非活動限期
4.passwd option username
常有參數:
-l:鎖定賬號,密碼過期,系統將不可用
-u:解鎖賬 號
-n mindays:最短使用期限
-x maxdays:最長使用期限
-w:密碼過期前多少開始告警
-i:非活動限期
-e:使賬號密碼過期,賬號登陸後需要修改密碼
5.id [option] user
-u:uid
-g:gid
-G:附加ID
-n:跟-ugG一起使用,只顯示用戶名稱
-r:跟-ugG一起使用,只顯示用戶ID
6.su [option] user:
su:非完全切換,不會讀取用記的配置文件(較少使用)
su -:完全切換,會讀取用戶的配置文件(經常使用)
參用參數:
-c:在切換時執行命令,如下,
-l:同-,爲完全切換
7.userdel [option] login:
常用參數:
-r:刪除用戶家目錄
8.groupmod [option] group:
-n group_name:新名稱,文件名稱會隨名稱變化而變化
-Gid:新Gid,當gid變化後gid不會隨着改變
9.groupdel group_name
10.gpasswd [option] group
常用參數:
-a:將用戶添加到某組中
-d:將某用戶從某組中移除
-A:設置管理權限列表
四、Linux權限管理
1. 權限的針對三類對象
linux主要對三類對象進行定義:
owner:屬主u
group:屬組g
other:其他o
2. 針對每類對象定義三類權限
r:Readable
w:writable
x:excutable
文件:
r:可讀取文件中的內容
w:可編輯文件中的內容
x:可把此文件提請爲內核的一個啓動進程
目錄:
r:可以使用ls列出目錄下面的內容
w:可在目錄下創建、刪除文件
x:可以cd到目錄裏
3. 權限的數值轉換
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
4. chmod
chmod [OPTION]... MODE[,MODE]... FILE:即chmod u+x test.txt
chmod [OPTION]... OCTAL-MODE FILE:即chmod 755 test.txt
chmod [OPTION]... --reference=RFILE FILE:參考某文件設置權限
常用參數:
-R遞歸修改權限
-mode:
修改一類用戶的權限:
u=、g=、o=、ug=、a=、go=、u=,g=
修改一類用戶的某位權限:
u+、u-
5. chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
常用參數:
-R遞歸修改權限
6. umask:
File:666-umask
note:若某類用戶的權限減得的結果存在x權限,則權限+1
Dir:777-umask