2018.4.3三周第二次課
概念:更改用戶屬性的一個命令。 用法:usermod [選項] 後面跟你需要操作的內容 [用戶名] 選項: -c, --comment 註釋 GECOS 字段的新值 -d, --home HOME_DIR 用戶的新主目錄 -e, --expiredate EXPIRE_DATE 設定帳戶過期的日期為 EXPIRE_DATE -f, --inactive INACTIVE 過期 INACTIVE 天數後,設定密碼為失效狀態 -g, --gid GROUP 強制使用 GROUP 為新主組 -G, --groups GROUPS 新的附加組列表 GROUPS -a, --append GROUP 將用戶追加至上邊 -G 中提到的附加組中, -l, --login LOGIN 新的登錄名稱 -L, --lock 鎖定用戶帳號 -m, --move-home 將家目錄內容移至新位置 (僅於 -d 一起使用) -o, --non-unique 允許使用重復的(非唯一的) UID -p, --password PASSWORD 將加密過的密碼 (PASSWORD) 設為新密碼 -R, --root CHROOT_DIR chroot 到的目錄 -s, --shell SHELL 該用戶帳號的新登錄 shell -u, --uid UID 用戶帳號的新 UID -U, --unlock 解鎖用戶帳號 -Z, --selinux-user SEUSER 用戶賬戶的新 SELinux 用戶映射
舉個例子,我們先來查看一下user5的uid和gid還有擴展組
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5)
然後在這裏,我們想讓user5再屬於另外一個組,叫擴展組:
[root@zhangzhen-01 ~]# usermod -G grp2 user5
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5),1008(grp2)
如果我們想讓user5,屬於多個組應該怎麽做呢:
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5),1008(grp2),1011(grp3)
用戶密碼管理 passwd命令
概念:賬戶創建後,默認是沒有設置密碼的,只有設置好密碼後才可以登錄系統。在為用戶創建密碼時,盡量設置復雜一些。
如下是密碼復雜度規則介紹:
-- 長度大於10個字節;
-- 密碼中包含大小寫字母、數字以及特殊符號!@#()¥等;
--不規則性英文數字等;
--密碼中不要帶有自己的名字和電話等信息。
passwd若後面不加用戶名,就是給自己設定密碼
[root@zhangzhen-01 ~]# passwd
更改用戶 root 的密碼 。
新的 密碼:重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
如何設置用戶密碼,格式 passwd [username] (這裏username填寫你的用戶),假設新建一個用戶test5
[root@zhangzhen-01 ~]# useradd test5 #創建一個用戶
[root@zhangzhen-01 ~]# passwd test5 #使用passwd修改test5用戶的密碼
更改用戶 test5 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。註:在這裏,只有root才可以修改其他賬戶的密碼,普通賬戶只能修改自己的密碼。
我們可以用tail命令查看配置文件後十行信息
[root@zhangzhen-01 ~]# tail /etc/shadow
polkitd:!!:17610::::::
postfix:!!:17610::::::
sshd:!!:17610::::::
chrony:!!:17610::::::
zhangzhen-03:!!:17613:0:99999:7:::
user1:$6$gTcyr2nl$szsXaszsSj02hc1deEHB5sPYmENFOU1I1ydpB1H8Erjgv5Zf15zqP5P/k8CZfJH/2WtGuuI5dDCYbzAHLJctK0:17623:0:99999:7:::
zhang-02:!!:17619:0:99999:7:::
user5:!!:17623:0:99999:7:::
user6:!!:17623:0:99999:7:::
test5:$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::註:這裏我們可以看見有加密的字符串,這裏是設置過密碼的用戶,然後"!!"表示密碼為空。
*哪些用戶是不可登錄的呢,用“”表示 **
[root@zhangzhen-01 ~]# head /etc/shadow
root:$6$yQ2l5yz9$Kn2mRieWcDq8beURzCQwyPbBQ8NvyERoRIQHDHJ1JVe3GEqW0awMtmJwNAnnAhP2SDQxK1n2r24iRWRixyJig1:17624:0:99999:7:::
bin::17110:0:99999:7:::
daemon::17110:0:99999:7:::
adm::17110:0:99999:7:::
lp::17110:0:99999:7:::
sync::17110:0:99999:7:::
shutdown::17110:0:99999:7:::
halt::17110:0:99999:7:::
mail::17110:0:99999:7:::
operator:*:17110:0:99999:7:::註:“*”表示不可登錄。
如何鎖定一個用戶登錄,-l,-L兩種選項
[root@zhangzhen-01 ~]# passwd -l test5
鎖定用戶 test5 的密碼 。
passwd: 操作成功
接下來我們查看鎖定完後的配置文件是什麽樣子的:
[root@zhangzhen-01 ~]# tail -n2 /etc/shadow
user6:!!:17623:0:99999:7:::
test5:!!$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::註意,在這裏 密文密碼前方有2個“!”,表示鎖定用戶。
如何解鎖一個用戶登錄,-u,-U兩種選項
[root@zhangzhen-01 ~]# passwd -u test5
解鎖用戶 test5 的密碼。
passwd: 操作成功
[root@zhangzhen-01 ~]# !tail
tail -n2 /etc/shadow
user6:!!:17623:0:99999:7:::
test5:$6$QPAIJOuh$mkjy1sX.SAsCTO2EYrUZmgYc3Npc7UDkny/HlTfbFWag1.tghAgymJ2mQqCaGDrV0loLk0YzAgN7E4.1NJ4aO.:17624:0:99999:7:::註意看,這裏密文前面沒有“!”,表示解鎖成功。
--stdhin的用法,用passwd直接修改test5用戶的密碼
[root@zhangzhen-01 ~]# passwd --stdin test5
更改用戶 test5 的密碼 。
123123
passwd:所有的身份驗證令牌已經成功更新。在這裏註意看,--stdin是用來強制設定一個用戶的密碼
用echo,通過管道符一條命令設置密碼
[root@zhangzhen-01 ~]# echo "123123" |passwd --stdin test5
更改用戶 test5 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。這條命令的含義是,echo(顯示) “123123” 通過管道符,把前面命令的結果,傳遞(輸出)給後面的命令。
echo -e 表示換行,示例如下:
[root@zhangzhen-01 ~]# echo -e "123\n321"
123
321在這裏一定要註意,雙引號裏面的 \n 反斜杠n表示換行;
\t 反斜杠t表示 TAB
參考文獻,echo的使用:
https://www.cnblogs.com/perfy/archive/2012/07/24/2605903.html
\a 發出警告聲;
\b 刪除前一個字符;
\c 最後不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\\ 插入\字符;
\nnn 插入nnn(八進制)所代表的ASCII字符;
–help 顯示幫助
–version 顯示版本信息
mkpasswd命令
首先安裝一個expect包,這個包可以實現隨機的字符串
[root@zhangzhen-01 ~]# yum install -y expect
[root@zhangzhen-01 ~]# mkpasswd
Li~B5zp1y
這個就是隨機生成的字符串了
我們也可以指定密碼長度,-l
[root@zhangzhen-01 ~]# mkpasswd -l 12 #這裏可以設置密碼長度為12字節
Hka2pv3ltOv;
我們也可以指定密碼長度的同時,指定有幾個特殊字符和數字
[root@zhangzhen-01 ~]# mkpasswd -l 12 -s 3 -d 3
63>>fvf%GJ6z
這裏,-l表示字節,-s表示特殊符號,-d表示有幾個數字。
2018.4.3三周第二次課