6.12 3.4-3.6
修改用戶的uid
[root@hyc-01-01 ~]# usermod -u 1014 hyc5
[root@hyc-01-01 ~]# tail -6 /etc/passwd
hyc:x:1000:1000::/home/hyc:/bin/bash
hyc1:x:1001:1001::/home/hyc1:/bin/bash
hyc2:x:1006:1001::/home/hyc2:/bin/bash
hyc3:x:1007:1005::/home/hyc111:/sbin/nologin
hyc4:x:1008:1008::/home/hyc4:/bin/bash
hyc5:x:1014:1011::/home/hyc5:/bin/bash 修改用戶uid
修改用戶的組id
[root@hyc-01-01 ~]# usermod -g 1001 hyc5 或者
[root@hyc-01-01 ~]# usermod -g hyc1 hyc5
usermod:無改變
[root@hyc-01-01 ~]# usermod -d /home/abc hyc5 指定用戶家目錄
[root@hyc-01-01 ~]# usermod -s /sbin/nologin hyc5 指定用戶shell
[root@hyc-01-01 ~]# tail -1 /etc/passwd
hyc5:x:1014:1001::/home/abc:/sbin/nologin
擴展組
[root@hyc-01-01 ~]# useradd -G 1005 hyc6 創建用戶時指定擴展組
[root@hyc-01-01 ~]# id hyc6
uid=1015(hyc6) gid=1015(hyc6) 組
gid只包含用戶的主組;
組包含了主組和擴展組;
[root@hyc-01-01 ~]# usermod -G 1005 hyc6 為已經創建的用戶添加擴展組
[root@hyc-01-01 ~]# id hyc6
uid=1015(hyc6) gid=1015(hyc6) 組=1015(hyc6),1005(grp2)
[root@hyc-01-01 ~]# usermod -G 1011 hyc6 僅添加一個擴展組則會將原來的擴展組替換,只留下最新指定的擴展組
[root@hyc-01-01 ~]# id hyc6
uid=1015(hyc6) gid=1015(hyc6) 組=1015(hyc6),1011(grp5)
[root@hyc-01-01 ~]# usermod -G 1011,1002 hyc6 一次指定多個擴展組
[root@hyc-01-01 ~]# id hyc6
uid=1015(hyc6) gid=1015(hyc6) 組=1015(hyc6),1002(grp1),1011(grp5)
[root@hyc-01-01 ~]# usermod -g 1011,1002 hyc6 用-g指定組時僅允許指定一個組(輸入多個組也會被看成一個組)
usermod:“1011,1002”組不存在
3.5 用戶密碼管理
passwd命令擁有特殊全下set_uid,可以讓普通用戶修改自己的密碼
[root@hyc-01-01 ~]# passwd passwd默認修改root用戶的密碼
更改用戶 root 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
修改普通用戶的密碼
[root@hyc-01-01 ~]# tail -6 /etc/shadow
hyc1:$6$phKSf3Hn$D4NVl/0AB9OkuI.QoY.nfB6y62q0tjfs19nnEMeSQVl2oFo74oHoVuqvgdmd4idUxHHa5lJ6StJ29zH11jh390:17689:0:99999:7:::
hyc2:!!:17693:0:99999:7::: 修改前hyc2沒有密碼
hyc3:!!:17693:0:99999:7:::
hyc4:!!:17693:0:99999:7:::
hyc5:!!:17693:0:99999:7:::
hyc6:!!:17693:0:99999:7:::
[root@hyc-01-01 ~]# passwd hyc2
更改用戶 hyc2 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@hyc-01-01 ~]# tail -6 /etc/shadow
hyc1:$6$phKSf3Hn$D4NVl/0AB9OkuI.QoY.nfB6y62q0tjfs19nnEMeSQVl2oFo74oHoVuqvgdmd4idUxHHa5lJ6StJ29zH11jh390:17689:0:99999:7:::
hyc2:$6$0Ia58OwV$vWgNs4DNGxCCZrhrvM9xVbBTcvmiFqFYYp9cMWlHILJV2mXIvL3u0VqOuyq.vSMb//VoW/sRiztqJx3XuwCK10:17694:0:99999:7:::
hyc3:!!:17693:0:99999:7::: 當用戶沒有密碼時第二段為兩個!
hyc4:!!:17693:0:99999:7:::
hyc5:!!:17693:0:99999:7:::
hyc6:!!:17693:0:99999:7:::
[root@hyc-01-01 ~]#
修改後發現hyc2的第二段有加密字符串
[root@hyc-01-01 ~]# head -2 /etc/shadow
root:$6$pJLBjkrU$/yEy8s6LUOnUc2KLL8F7Lbi0mykFC6wHb4erol0DJctmfSedcXMi2u.b8jlCWfVq3D64wE8XpE3SI3n/Dxxod.:17694:0:99999:7:::
bin:*:17110:0:99999:7::: 此處第二段為*,說明bin用戶的密碼被鎖定
不管是被鎖定或沒有密碼或密碼過期,都說明該用戶無法登錄
[root@hyc-01-01 ~]# passwd -l hyc1
鎖定用戶 hyc1 的密碼 。
passwd: 操作成功
[root@hyc-01-01 ~]# tail -6 /etc/shadow
hyc1:!!$6$phKSf3Hn$D4NVl/0AB9OkuI.QoY.nfB6y62q0tjfs19nnEMeSQVl2oFo74oHoVuqvgdmd4idUxHHa5lJ6StJ29zH11jh390:17689:0:99999:7::: shadow文件中第二段開頭出現兩個!說明鎖定成功
hyc2:$6$0Ia58OwV$vWgNs4DNGxCCZrhrvM9xVbBTcvmiFqFYYp9cMWlHILJV2mXIvL3u0VqOuyq.vSMb//VoW/sRiztqJx3XuwCK10:17694:0:99999:7:::
hyc3:!!:17693:0:99999:7:::
hyc4:!!:17693:0:99999:7:::
hyc5:!!:17693:0:99999:7:::
hyc6:!!:17693:0:99999:7:::
[root@hyc-01-01 ~]# passwd -u hyc1 解鎖hyc1
解鎖用戶 hyc1 的密碼。
passwd: 操作成功
[root@hyc-01-01 ~]# tail -6 /etc/shadow
hyc1:$6$phKSf3Hn$D4NVl/0AB9OkuI.QoY.nfB6y62q0tjfs19nnEMeSQVl2oFo74oHoVuqvgdmd4idUxHHa5lJ6StJ29zH11jh390:17689:0:99999:7::: !消失
hyc2:$6$0Ia58OwV$vWgNs4DNGxCCZrhrvM9xVbBTcvmiFqFYYp9cMWlHILJV2mXIvL3u0VqOuyq.vSMb//VoW/sRiztqJx3XuwCK10:17694:0:99999:7:::
hyc3:!!:17693:0:99999:7:::
hyc4:!!:17693:0:99999:7:::
hyc5:!!:17693:0:99999:7:::
hyc6:!!:17693:0:99999:7:::
[root@hyc-01-01 ~]# usermod -L hyc1 usermod加-L參數鎖定用戶
[root@hyc-01-01 ~]# tail -6 /etc/shadow
hyc1:!$6$phKSf3Hn$D4NVl/0AB9OkuI.QoY.nfB6y62q0tjfs19nnEMeSQVl2oFo74oHoVuqvgdmd4idUxHHa5lJ6StJ29zH11jh390:17689:0:99999:7::: 第二段開頭出現!
hyc2:$6$0Ia58OwV$vWgNs4DNGxCCZrhrvM9xVbBTcvmiFqFYYp9cMWlHILJV2mXIvL3u0VqOuyq.vSMb//VoW/sRiztqJx3XuwCK10:17694:0:99999:7:::
hyc3:!!:17693:0:99999:7:::
hyc4:!!:17693:0:99999:7:::
hyc5:!!:17693:0:99999:7:::
hyc6:!!:17693:0:99999:7:::
[root@hyc-01-01 ~]# usermod -U hyc1 usermod加-U參數解鎖用戶
只要shadow文件第二段開頭出現!且後跟密碼或第二段為*即說明該用戶被鎖定
--stdin 修改的密碼僅輸入一次且會明文顯示
[root@hyc-01-01 ~]# passwd --stdin hyc1
更改用戶 hyc1 的密碼 。
hyc940421
passwd:所有的身份驗證令牌已經成功更新。
[root@hyc-01-01 ~]# echo "hyc940421"|passwd --stdin hyc1 |為管道符,會將上一個命令的執行結果輸出給下一個命令
更改用戶 hyc1 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[root@hyc-01-01 ~]# echo "12345\n678910" 默認echo會順序打印所有字符
12345\n678910
[root@hyc-01-01 ~]# echo -e "12345\n678910" 加-e參數則遇到\n會執行換行(回車)
12345
678910
[root@hyc-01-01 ~]# echo -e "12345\t678910" 加-e遇到\t輸入空格(-t表示Tab)
12345 678910
[root@hyc-01-01 ~]# echo -e "1234567\n1234567"|passwd hyc1 更新密碼
更改用戶 hyc1 的密碼 。
新的 密碼:無效的密碼: 密碼少於 8 個字符
重新輸入新的 密碼:passwd:所有的身份驗證令牌已經成功更新。
一般密碼要求:
包含特殊字符、大小寫字母和數字;
長度盡量超過8位;
密碼最好不包括自己的相關信息;
3.6 mkpasswd命令
[root@hyc-01-01 ~]# mkpasswd
-bash: mkpasswd: 未找到命令 默認系統不安裝該命令相關的包
[root@hyc-01-01 ~]# yum install -y expect 安裝相關的包
[root@hyc-01-01 ~]# mkpasswd 隨機生成密碼
nqok>HU38 默認長度9位,包含大小寫字母、特殊符號和數字
[root@hyc-01-01 ~]# mkpasswd -l 12 –l指定生成密碼的位數為12位
tlm8t|mYIu2s
[root@hyc-01-01 ~]# mkpasswd -l 12 -s 3 –s指定生成密碼中包含特殊符號的個數為3
tSq_j28{Mb:m
[root@hyc-01-01 ~]# mkpasswd -l 12 -s 0 密碼中不含特殊符號
gJrmul66Jlgk
6.12 3.4-3.6