Linux 用戶和組
-
資源分派(3A):
Authentication 認證
Authorization 授權
Accouting|Audition 審計 -
用戶:(系統通過UID來判斷用戶信息)
令牌token identity:用於驗明身份
Linux用戶:username/UID
管理員:root 0
普通用戶:1-65535
系統用戶:1-499(6) 1-999(7)
對守護進程獲取資源進行權限分配
登錄用戶:500+(6) 1000+(7)
交互式登錄 -
組 group
linux組:GroupID /GID
管理員組: root 0
普通組:
系統組:1-499 1-999(7)
普通組:500+ 1000+(7) -
安全上下文:
運行中的程序:進程
以進程發起者的身份運行
root:/bin/cat
mage: /bin/cat
進程所能訪問資源的權限取決於進程運行者的身份 -
組的類別
用戶的主要組(primary group)
用戶必須屬於一個且只有一個主組
組名同用戶名,且僅包含一個用戶。私有組
用戶的附加組
一個用戶可以屬於0個或者多個輔助組 -
用戶和組的配置文件
/etc/passwd 用戶以及其屬性信息(名稱 UID 主組ID)
name 用戶名
passwd 密碼(pwunconv可以恢復口令到passwd pwconv恢復到shadow)
UID
GID 主組
gecos 描述信息 chfn命令 change finger (finger可以直接看描述)
shell類型 cat /etc/shell 顯示系統支持的shell類型 shsh -s 改shell類型
/sbin/nologin 不允許登陸
/etc/group 組及其屬性信息
組名:
組口令:普通用戶可以通過獲取組口令自己主動加入組(不建議)組ID 組成員:,分割不同成員 一般是附加組
/etc/shadow 用戶密碼及其相關屬性
login name
密碼字段 $$之前的salt字段,隨機字段保證相同口令加密之後結果不同
最近改口令時間 距離1970 1.1計算天數,當設為0必須下次登陸更改口令
最短密碼使用時間
最長密碼使用時間(改口令之後計算,不能超過這個時間)
密碼寬限期 超過寬限期則密碼鎖定
賬號使用有限期
保留字段################################### 沒有口令的賬號顯示!!賬號鎖定 5的系統使用 usermod -U 可以解鎖賬號,取消一個! -L 加鎖 6之後不允許這樣操作,不能登錄,但是可以su ################################## passwd -e username 選項可以實現下次登陸必須改口令 chage username 直接進行修改用戶的口令配置信息 -d 0 username 同理 -l username 顯示用戶口令策略 -I --inactive INACTIVE -m --mindays MIN_DAYS -E --expiredate EXPIRE_DATE -M --maxdays MAX_DAYS -W --warndays WARN_DAYS ps:chage -m -M 12 -W 14 -I 17 username
vim /etc/login.defs 文件進行修改默認系統配置密碼,郵件等信息
/etc/default /useradd 創建用戶的默認配置信息/etc/gshadow 組密碼及其相關屬性
組名
組口令 通常也是!!
組內成員關系 可以設置多個組管理員
組成員 和group相同 -
密碼加密
加密機制:
加密: 明文-->密文
解密: 密文-->明文
單項加密:哈希算法,原文不同,密文必不同
相同算法定長輸出,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變會引起結果的巨大改變更改加密算法:authconfig --passalgo=sha256 --update
-
密碼的復雜性策略:
使用數字,大寫字母,小寫字母及特殊字符中的至少3種
足夠長
使用隨機密碼
定期更換,不要使用最近曾經使用過的密碼可以采用分級方式去設置密碼難度
-
命令:
id username 顯示用戶id 主組id 附加組id 這個是讀取配置文件的
不加username的話,一般是顯示舊信息,當重新登錄才會刷新信息
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱,需配合ugG使用
groups username 顯示用戶的組信息 主組 附加組################################
id不變用戶權限不變
################################gpasswd username 給組加口令
-a user 將user添加到指定的組中
-d user 從指定組中移除用戶
-A user1 user2 。。。 設定有管理權限的用戶列表哦
newgrp gname 主動加入組 要輸入組密碼
這種方式會改變自己的主組
newgrp也可以用來臨時切換主組,若已經是組成員則無需輸入口令useradd
-u UID 可以超過60000
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指明用戶所屬基本組,可為組名,也可以GID
-c "COMMENT":用戶的註釋信息
-d HOME_DIR: 以指定的路徑(不存在)為家目錄
-s SHELL: 指明用戶的默認shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:為用戶指明附加組,組須事先存在
-N 不創建私用組做主組,使用users組做主組
-r: 創建系統用戶 家和郵箱都不創建 CentOS 6: ID<500,CentOS 7: ID<1000
-m 創建家目錄,用於系統用戶
-M 不創建家目錄,用於非系統用戶修改默認配置設置 /etc/default/useradd文件 useradd -D(default) 顯示默認配置選項 useradd –D -s SHELL useradd –D –b BASE_DIR useradd –D –g GROUP
newusers passwd格式的文件,可以實現批量創建文件
chpasswd 批量實現用戶口令的更改usermod 用戶屬性修改
-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;
若保留原有,則要同時使用-a選項
-s SHELL:新的默認SHELL
-c ‘COMMENT‘:新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使 用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設定非活動期限 賬號寬限期
userdel
-r 刪除用戶家目錄
ps:正在登錄的用戶無法刪除
passwd 修改指定用戶的密碼
-d:刪除指定用戶密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-f: 強制操作
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
--stdin:從標準輸入接收用戶密碼
echo "PASSWORD" | passwd --stdin USERNAMEgroupadd 添加用戶組
-g GID
-r 創建系統組
6 ID<500
7 ID<1000
groupmod 修改組的屬性
-n new_groupname
-g new_GID
groupdel
刪除主組之前要先將組內用戶移動到其他組groupmems
-g, --group groupname 更改為指定組 (只有root)
Actions:
-a, --add username 指定用戶加入組
-d, --delete username 從組中刪除用戶
-p, --purge 從組中清除所有成員
-l, --list 顯示組成員列表 ?groups [OPTION].[USERNAME]... 查看用戶所屬組列表
-
文件操作:不推薦改配置文件
vipw vigr 在編輯passwd 和group文件時候具有語法格式檢測功能
pwck grpck 用於檢測語法 -
切換用戶或者以其他用戶身份執行命令
su username:以非登錄方式去切換,不會讀取目標用戶的配置文件,不改變當前的工作目錄
su - username:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,可以實現完全切換。root用戶在su其他用戶時候不需要輸入密碼,但是非root用戶su要密碼
換身份執行指令
su [-] username -c ‘指令‘su -l username 相當於su - username
Linux 用戶和組