用戶信息的更改
usermod ##mod =modlify 修改
爲了便於直觀看出改變我們通過監控指令
watch -n 1 ‘tail -n3 /etc/passwd /etc/group;ls -l /home‘
來對用戶的用戶信息文件,用戶組信息文件以及用戶家目錄進行監控。
首先,我們新建一個用戶,mack
- usermod -l 更改後用戶名 更改前用戶名 #更改用戶名
- usermod -u 用戶名 #更改用戶uid
- usermod -g 用戶名 #更改用戶初始組
- usermod -G 用戶名 #更改用戶的附加組,更改多個時在中間加“,“
附加一個:
附加多個:
- useradd -aG 用戶名 #在原來的附加組不變的情況下添加新的附加組
--注意:如果不使用“-aG“而使用“-G“添加新的附加組原本的附加組會被替換
- usermod -G ““|‘‘(一個強引用一個弱引用) 用戶名 #消除所有附加組
- usermod -d 用戶名 #更改用戶家目錄名稱(只改變家目錄的指向但是不會更改用戶創建時生成的家目錄名稱)
我們可以看到用戶mack的家目錄指向變爲了/home/jim然而家目錄文件中原本的家目錄mack名稱並未發生改變 - usermod -md 用戶名 #可以同時改變家目錄的指向和用戶創建時生成的家目錄名稱,但該參數的順序不能改變,-dm是一種錯誤用法。
可以看出不僅家目錄指向發生了更改,/home下用戶mack原本的家目錄名稱也發生了改變 - usermod -c 用戶名 #更改說明文字
- usermod -s 用戶名 #更改默認shell
- usermod -L 用戶名 #凍結用戶(L=lock)
首先我們創建一個用戶mack 重啓虛擬機,可以看到用戶mack的登陸按鈕
然而當我們執行完usermod -L mack指令後再次重啓虛擬機可以看到mack用戶的登陸界面消失說明mack用戶已經被凍結
- usermod -U 用戶名 #解鎖用戶
用戶認證信息
用戶的認證信息記錄在 /etc/shadow 文件內
該文件共有九列(以最後一行爲例)
列數 | 作用 |
---|---|
第一列:mack | 記錄用戶名稱 |
第二列:!! | 用戶的加密字符串,默認用的加密方式爲sha512的對稱加密,如果加密字符串前出現“!”那麼用戶被凍結##加密分爲對稱加密(加密解密全是同一串字符典型示例:指紋解鎖)和非對稱加密(公鑰鎖 密鑰解) |
第三列:17897 | 密碼最後一次被更改時間,此時間的計算是從1970-1-1開始計算的累計天數 |
第四列:0 | 密碼最短有效期,如果此位有設定數字,那麼在此數字範圍內的天數內是不能更改密碼的 |
第五列:99999 | 密碼最長有效期,更改密碼後會刷新 |
第六列:7 | 密碼警告期限,在過期前制定天數內會發送警告信息給用戶 |
第七列: | 用戶非活躍天數,此爲默認爲空,如果設定數值x,那麼在密碼最長有效期過後只可以使用x天 |
第八列: | 用戶到期日,默認爲空,到期必定凍結,更改密碼後也不會刷新 |
第九列: | 用戶自定義,目前沒有啓用 |
用戶密碼管理
1.用戶密碼的修改
同樣爲了便於直觀看出用戶密碼的改變我們通過監控命令:
watch -n 1 tail -n 3 /etc/shadow進行監控
- passwd 用戶名 #更改用戶密碼
- passwd -l #在用戶密碼前加上“!!“即凍結用戶
- passwd -u #解鎖用戶
- usermod -L #在用戶密碼前加上“!“凍結用戶 強弱度比-l弱
- usermod -U #解鎖用戶
- passwd -d #清空用戶密碼
- passwd -S #查看用戶認證信息
注意:普通用戶更改密碼時:
(1)必須知道當前用戶的原始密碼
(2)密碼不能和帳號名稱相似
(3)密碼不能是春數字或者字母
(4)密碼不能是有序的字母和數字的組合
超級用戶更改密碼時:
(1)更改自己密碼時直接輸入passwd,會受密碼強弱度限制
(2)更改其他用戶密碼時不需要該用戶的密碼且不會手密碼的強弱度限制
2.用戶密碼最後一次被更改時間的修改
- passwd -e 用戶名 #只能改成0,用戶登陸時會強制更改密碼(應用示例:新建信用卡的初始密碼的更改)
-
chage -d 0 用戶名 #功能與上面相似,但是可以任意更改時間
3.用戶密碼最短有效期的更改 -
passwd -n 1 用戶名 #用戶1天內不能更改密碼
-
chage -m 1 用戶名
4.用戶密碼最長有效期的更改
- passwd -x 30 用戶名 #用戶在30天內必須更改密碼
- chage -M 40 用戶名
5.密碼警告期限的更改
-
passwd -w 2 用戶名 #密碼過期前兩天有警告輸出
-
chage -W 3 用戶名
6.非活躍天數的修改 -
passwd -i 2 用戶名 #密碼過期後仍可登陸系統的天數爲2
-
chage -I(大寫的i) 3 用戶名
7.帳號到期日的修改 -
passwd無法修改
-
chage -E 2019-11-11 用戶名 #用戶到2019-11-11會被凍結
用戶授權
通常情況下普通用戶無法建立新的用戶 此時便需要root下放權力
1.權力下放文件爲/etc/sudoers
此文件可以用vim直接編輯,但是不提供語法檢測無法確保自己的語句是否有語法錯誤
也可以使用visudo編輯此文件,visudo命令是提供語法檢測的
2.下放方式
*visudo
100行左右
用戶 主機名稱=(得到的用戶身份) 命令
#mack用戶可以在localhost主機以root用戶身份執行useradd命令
#mack用戶可以在localhost主機以root用戶身份免密執行useradd
注意:如果在sudoers中進行了誤操作 可以通過輸入“:q!”強制退出不保存
3.測試
su - 用戶名
sudo useradd redhat