2.3-用戶及組管理
用戶和組管理
資源分配:
Authentication:認證
Authorization:授權
Accouting(Audition):審計
token:只驗證密碼,不驗證用戶的機制
認證(identity):密碼和用戶名雙重驗證
Linux用戶:Username/UID
管理員:root,0
普通用戶:1-65535
系統用戶:1-499
對守護進程獲取資源進行權限分配
登錄用戶:500+
交互式登錄
Linux組:Groupname/GID
管理員組:root,0
普通組:
系統組:1-499
普通組:500+
Linux安全上下文:
運行中的程序:進程(process)
以進程發起者的身份運行:
root:cat
tom:cat
進程所能夠訪問的所有資源的權限取決於進程的發起者的身份
Linux組的類別:
用戶的基本組(主組):
組名同用戶名,且僅包含一個用戶:私有組
用戶的附加組(額外組):
Linux用戶和組相關的配置文件:
/etc/passwd:用戶機器屬性信息(名稱,UID,基本組ID等等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
/etc/passwd:
account:password:UID:GID:GECOS:directory:shell
account:系統上用戶的名稱,不應該包含大寫字母
password:密碼占位符
UID:用戶ID
GID:用戶基本組ID
GECOS:該字段是可選的,僅用於信息目的
directory:主目錄
shell:默認shell
/etc/group
group_name:passwd:GID:user_list
group_name:組名
passwd:組密碼占位符
GID:組ID
user_list:作為該組成員的用戶名的列表,用逗號分隔
/etc/shadow
bin:*:17246:0:99999:7:::
此文件的每行包括 9 個字段,使用半角冒號 (“:”) 分隔,順序如下:
bin:登錄名
*:加密了的密碼
17246:最近一次更改密碼的日期
0:密碼的最小年齡
99999:最大密碼年齡
7:密碼警告時間段
:密碼禁用期
: 賬戶過期日期
:保留字段
加密機制:
加密:明文---->密文
解密:密文---->明文
單向加密:提取數據指紋
md5:message digest,128bits
sha1:secure hash algorithm,160bits
sha224:224bits
sha256:256bits
sha384:384bits
sha512:512bits
雪崩效應:初始條件的微笑改變,將會引起結果的巨大改變
定長輸出:加密算法一樣,輸出結果也一樣
密碼的復雜性策略:
1.使用數字,大寫字母,小寫字母及特殊字符中至少3種
2.足夠長:
3.使用隨機密碼:
4.定期更換:不要使用最近曾經使用過的密碼
/etc/gshadow
組名:加密了的密碼:管理員:成員
用戶和組相關的管理命令
用戶創建:useradd
useradd [options] LOGIN
-u UID:[UID_MIN,UID_MAX],定義在/etc/login.defs
-g GID:指明用戶所屬的基本組,可為組名,也可以為GID
-c "COMMENT":用戶的註釋信息
-d /PATH/TO/HOME_DIR:以指定的路徑為家目錄
-s SHELL:指明用戶的默認shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...[,GROUPN]]:為用戶指明附加組,組必須事先存在
默認值設定:/etc/default/useradd文件中
useradd -D
-s SHELL
練習:創建用戶gentoo,附加組為distro和linux,默認shell為/bin/csh,註釋信息為"Gentoo Distribution"
# tail -1 /etc/passwd
gentoo:x:502:502:Gentoo Distribution:/home/gentoo:/bin/csh
# id gentoo
uid=502(gentoo) gid=502(gentoo) 組=502(gentoo),500(distro),501(linux)
2.3-用戶及組管理