一、用戶賬號和組賬號概述
用戶賬號:
超級用戶-root是linux中的超級用戶賬號,對本主機有超級權限,具有唯一性
普通用戶-由root用戶或其他管理員用戶創建,擁有的權限會受到限制,一般只有在用戶自己的宿主目錄中擁有全部權限。
程序用戶-在安裝linux操作系統及部分應用程序時,會添加一些特定的低權限用戶賬號,這些用戶一般不允許登錄到系統,僅用於維持系統或者某個應用程序正常運行。如bin、daemon、ftp、mail等
組賬號:
基本組(私有組)-基本組賬號只有一個,一般為創建用戶時指定的組。在/etc/passwd文件中第四字段記錄的即為該用戶的GID號。
附加組(公共組)-用戶除了基本組以外,額外添加指定的組
UID和GID:
UID(User IDentity,用戶標識號)
GID(Group IDentify,組識別號)
二、用戶賬號文件/etc/passwd
2.1、保存用戶名稱、宿主目錄、登錄shell等基本信息
文件位置:/etc/passwd
每一行對應一個用戶的賬號記錄
基於系統運行和管理需要,所有用戶都可以訪問passwd文件中的內容,但是只有root用戶才能進行更改。
在早期的UNIX操作系統中,用戶帳號的密碼信息是保存在passwd文件中的,不法用戶可以很容易的獲取密碼字串並進行暴力破解,因此有在一定的安全隱患。后來經改進后,將密碼轉存入專門的shadow文件中,,而passwd文件中儀保留密碼占位符"x"。
2.2、7個字段
root❌0:0:root:/root:/bin/bash
字段1:用戶賬號的名稱
字段2:用戶密碼占位符“X”
字段3:用戶賬號的UID號
字段4:所屬基本組賬號的GID號
字段5:用戶全名
字段6:宿主目錄
字段7:登錄shell信息(/bin/bash為可登錄系統,/sbin/nologin和/bin/false禁止登錄)
三、用戶賬號文件/etc/shadow
3.1、保存用戶的密碼、賬號有效期等信息
文件位置:/etc/shadow
每一行對應一個用戶的密碼記錄
默認只有root用戶能夠讀取shadow文件中的內容,且不允許直接編輯該文件中的內容
3.2、9個字段(以:為分隔)
示例:root:6 66OCeIAPA/PC1p.5pO$s4wrvo4Wgrz5IbiZfjTh.3f6ddu.eQYnFhd2idwBeLz8xzet6sD…jj9/n/U/::0:99999:7:::
字段一:用戶賬號的名稱
字段二:使用MD5加密的密碼字串信息,當為"*“或”!!"時表示此用戶不能登錄到系統。若該字段內容為空,則該用戶無須密碼即可登錄系統
字段三:上次修改密碼的時間,表示從1970年01月01日算起到最近一次修改密碼時間隔的天數
字段四:密碼的最短有效天數,自本次修改密碼后,必須至少經過該天數才能再次修改密碼。默認值為0,表示不進行限制
字段五:密碼的最長有效天數,自本次修改密碼后,經過該天數以后必須再次修改密碼。默認值為99999,表示不進行限制
字段六:提前多少天警告用戶密碼將過期,默認值為7
字段七:在密碼過期之后多少天禁用此用戶
字段八:帳號失效時間,此字段指定了用戶作廢的天數(從1970年01月01日起計算) ,默認值為空,表示賬號永久可用。
字段九:保留字段(未使用)
四、添加用戶賬號:useradd
在/etc/passwd文件和/etc/shadow文件的末尾增加該用戶賬號的記錄。
若未明確指定用戶的宿主目錄,則在/home目錄下自動創建與該用戶賬號同名的宿主目錄,並在該目錄中建立用戶的各種初始配置文件。
若沒有明確指定用戶所屬的組,則自動創建與該用戶賬號同名的基本組賬號,組賬號的記錄信息將保存到/etc/group和/etc/gshadow文件中。
useradd [選項]... 用戶名
常用選項:
五、設置/更改用戶口令:passwd
root用戶可以指定用戶名作為參數,對指定賬號的密碼進行管理;不指定用戶名時,修改當前賬號的密碼。
普通用戶卻只能執行單獨的"passwd"命令修改自己的密碼。
passwd [選項]... 用戶名
常用選項:
六、修改用戶賬號屬性:usermod
usermod [選項]... 用戶名
常用選項:

示例
將 admin1 用戶的登錄名更改為 master
usermod -l admin1 master
七、刪除用戶賬號:userdel
**userdel [-r] 用戶名
八、用戶賬號的初始配置文件
8.1、文件來源
useradd命令添加一個新的用戶賬號后會在該用戶的宿主目錄中建立一初始配置文件。
這些文件來自於賬號模板目錄/etc/skel/,基本上都是隱藏文件。
8.2、主要的用戶初始配置文件
宿主目錄下的初始配置文件只對當前用戶有效

全局配置文件對所有用戶有效
九、組賬號文件
9.1、與用戶賬號文件相類似
9.2、4個字段
[root@localhost ~]# grep "postfix" /etc/group
mail❌12:postfix
postfix❌89:
字段一:組賬號的名稱
字段二:占位符“X”
字段三:組賬號GID號
字段四:組賬號包含的用戶成員(一般不包括基本組對應的用戶賬號),多個成員之間以逗號分隔開
十、添加組賬號:groupadd
**groupadd [-g GID] 組賬號名
示例:groupadd -g 1000 market #添加組賬號market
十一、添加刪除組成員:gpasswd
設置組賬號密碼(很少用),添加/刪除組成員
**gpasswd [選項]... 組賬號名
常用選項:
十二、查詢賬號信息
12.1查詢用戶所屬組:groups
groups 用戶名
12.2查詢用戶身份標識:ID
12.3查詢用戶賬號的登錄屬性:finger(首先安裝finger軟件包)
12.4查詢已登錄到主機的用戶信息:W,who,users
w可以查詢到主機登錄時間,cpu負載情況以及登錄到主機的用戶信息
十三、文件/目錄的權限以及歸屬
13.1權限訪問
讀取r:允許查看文件內容,顯示目錄列表
寫入w:允許修改文件內容,允許在目錄中新建,移動,刪除文件或子目錄
可執行X:允許運行程序,切換目錄
13.2歸屬(所有權)
屬主:擁有該文件或目錄的用戶賬號
屬組:擁有該文件或目錄的組賬號
13.3查看文件/目錄的權限和歸屬
drwxr-xr-x 2 root root 6 1月 26 20:24 5.txt

13.4設置文件/目錄的權限和歸屬:chmod
格式一:
chmod [ugoa...] [+-=] [rwx] 文件或目錄
“ugoa”表示該權限設置針對的用戶類別。(缺省時為a)
‘u’ 代表文件屬性
‘g’ 代表文件屬組內的用戶
‘o’ 代表其他任何用戶
‘a’ 代表所有用戶
"+ - ="表示設置權限的操作動作。
‘+’ 代表增加相應權限
‘-’ 代表減少相應權限
‘=’ 代表僅設置對應的權限
“rwx”是權限的字符組合形式,也可以拆分使用。
格式二:
chmod nnn 文件或目錄
每個n代表一個八進制數,每個八進制數值得是權限的數字表示形式的和
13.5設置文件和目錄的歸屬:chmod
chown 屬主 文件或目錄
chown :屬組 文件或目錄
chown 屬主:屬組 文件或目錄
常用選項:
-R:遞歸修改指定目錄下所有子目錄及文件的歸屬
13.6設置目錄和文件的默認權限:umask
1、作用
控制新建的文件或者目錄的權限
默認權限去除umask的權限為新建的文件或者目錄的權限(新建的文件或者目錄的權限為默認最大權限減去umake 。普通文件的最大默認權限為6, 目錄的最大默認權限為7。)
2、umask設置: umask 022
3、umask 查看: umask
