一、基本配置文件
1.安全三A
Authentication :認證
Authorization :授權
Accouting|Audition :審計
用戶組=主組(有且僅有一個)+附加組(可多個或沒有)
2.linux用戶和組的主要配置文件:
(1)/etc/passwd :用戶及其屬性
username:x:uid:gid:discreption:home:shell
(2)/etc/group :組及其屬性
組名:組密碼:組id:組成員
(3)/etc/shadow :用戶密碼及其相關屬性
username:passwd:passwdtime:min:max:inactive:account
(4)/etc/gshadow :組密碼及其相關屬性
組名:組口令:組管理員:組成員
二、密碼時間
1. 密碼修改時間:
最短有效期(多少天不能修改密碼):最長有效期:過期提示時間:延期時間(過期之後多少天還能登錄去改密碼):賬戶有效期:保留
usermod -L : 加鎖
usermod -U : 解鎖(centos 6之後就不允許空口令登錄)
2. 加密機制:
加密:明文 --> 密文
解密:密文 --> 明文
3. 單向加密:
哈希算法,原文不同,密文必不同
相同算法定長輸出,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變,引起結果的巨大改變
設置加密類型的文件:/etc/login.defs
$6 sha512
$1 md5 128
三、用戶管理
1. 創建用戶
默認值設定:/etc/default/useradd–>新建用的信息默認值
useradd = adduser 兩個命令都可以創建用戶,效果一樣
useradd zhang 創建普通用戶zhang
useradd -g kun -a zhang 創建用戶zhang時,指定zhang的所屬組爲kun
useradd -d zhang -a zhang 創建用戶zhang時,指定zhang的家目錄爲zhang
useradd -s /bin/shell zhang 創建用戶zhang時,指定用戶zhang的bash是shell
useradd -G root zhang 創建用戶zhang時,指定用戶的附加組爲root
useradd -r -s /bin/nologin zhang -r是創建系統用戶,系統用戶一般情況下不能登錄,所以設置shell類型爲/bin/shell
useradd -u 2000 zhang 創建用戶zhang時,指定zhang的uid是2000
2. 刪除用戶
userdel zhang 刪除用戶zhang,只是刪除了用戶信息,並沒有刪除zhang的家目錄和郵件信息
userdel -r zhang 刪除用戶zhang的同時,刪除了zhang的家目錄和郵件信息
userdel -f zhang 強制刪除用戶zhang
3. 修改用戶
usermod
-u 新的屬主
-g 新的屬組
-aG 附加組,加a保留原來的屬組
刪除附加組:usermod -G wang wang
usermod -G "" wang
-s 新的shell
-d home 新的家目錄,新家目錄不會自動創建,原家目錄中的文件不會同時移動至家目錄;若要創建新家目錄並移動原有數據,同時使用-m選usermod -d /app/home -m tom
-c 修改註釋信息(chfn)
-l login_name:新的名字,其他信息都不變化
-L lock 指定用戶,在/etc/shadow密碼欄增加!
-U unlock 指定用戶,在/etc/shadow密碼欄減少!
-e YYY-MM-DD :指定用戶賬號過期日期
-f INACTIVE : 設定非活動期限
四. 用戶組管理
groupadd zhang 創建用戶組zhang
groupmod
-n group_name:新名字
-g GID :新的GID
groupdel group
gpasswd
-a user :將user添加至指定組中
-d user : 從組中移除用戶
-A user1,user2:設置有管理權限的用戶列表
newgrp命令:臨時切換基本組
如果用戶不屬於此組,則需要組密碼
五.密碼管理
passwd
-l 鎖定用戶
-u 解鎖用戶
-e 強制用戶下次登錄修改密碼
-n days 指定最短使用期限
-x maxdays 最大使用期限
-w warndays 提前多少天開始警告
-i inactivedays 非活動期限
--stdin 從標準輸入接收用戶密碼
chage tom 可以改變Tom的時間信息
chfn:改用戶賬號的描述信息
chsh :修改shell類型 chsh -s /sbin/nologin tom
chgrp :普通用戶無權限,普通用戶對鎖所屬的組有權限 chgrp wang f1(wang下的用戶)
finger:查看用戶信息
批量創建用戶:
創建一個文本文件,格式要跟passwd格式一樣.
newusers user.txt /etc/passwd
改密碼:
1.passwd zhang
2.echo password | passwd --stdin zhang &>/dev/null
3.echo zhang:password | chpasswd
4.cat file | chpasswd
要想創建的每個用戶都有某個文件,就將該文件放在這個目錄下,這當中寫了文件默認創建的文件
cp -r /etc/skel/.[^.]* /home/list 這種方式需要手動創建/home/list
cp -r /etc/skel /home/list 這種方式不需要手動創建/home/list
六.密碼管理
su username :非登錄式切換,不會讀取目標用戶的配置文件,不改變當前工作目錄
su - username :登錄式切換,會讀取配置文件,切換至家目錄,完全切換。
su - username -c 'cat /etc/passwd' :-c可以執行命令
root用戶su到其他用戶不需要密碼,非root切換時需要密碼
七、ACL
Access Control List 實現靈活的權限管理
setfacl -m u:zhang:-w- f1 設置 acl
getfacl f1 查看acl
setfacl -m g:admins:rw f1 設置用戶組admins對f1文件有讀寫權限
gpasswd -a xixi admins
setfacl -x u:zhang f1
setfacl -m mask::r f1 設定mask降低自定義的用戶,自定義的組,所屬組的權限,跟mask權限一樣,所有者和其他人不在設置範圍內。
ACL生效順序:所有者,自定義用戶,自定義組,其他人
setfacl set file acl
setfacl -b file 清除所有acl權限
setfacl -k dir 刪除默認acl權限
getfacl file1 | setfacl --set-file=- file2 複製file1的acl權限給file2
CentOS 6 新分的分區默認不支持ACL CentOS 7支持
八.總結
Linux操作系統上面,關於賬號與用戶組,其實紀錄的是UID/GID的數字而已。
用戶賬號/用戶組與UID/GID的對應,參考/etc/passwd及/etc/group兩個文件。
查看用戶詳細的密碼參數,可以使用“chage-|賬號”來處理
useradd命令作用參數的文件有/etc/default/useradd,/etc/login.defs,/etc/skel等
系統上面賬號登陸情況的查詢,可以使用w,who,last,lasting等