概念:更改用戶屬性的一個命令。 用法: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還有擴展組html
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5)linux
而後在這裏,咱們想讓user5再屬於另一個組,叫擴展組:shell
[root@zhangzhen-01 ~]# usermod -G grp2 user5
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5),1008(grp2)app
若是咱們想讓user5,屬於多個組應該怎麼作呢:ssh
[root@zhangzhen-01 ~]# id user5
uid=1003(user5) gid=1003(user5) 組=1003(user5),1008(grp2),1011(grp3)post
概念:帳戶建立後,默認是沒有設置密碼的,只有設置好密碼後才能夠登陸系統。在爲用戶建立密碼時,儘可能設置複雜一些。 以下是密碼複雜度規則介紹: -- 長度大於10個字節; -- 密碼中包含大小寫字母、數字以及特殊符號!@#()¥等; --不規則性英文數字等; --密碼中不要帶有本身的名字和電話等信息。
passwd若後面不加用戶名,就是給本身設定密碼ui
[root@zhangzhen-01 ~]# passwd
更改用戶 root 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。加密
如何設置用戶密碼,格式 passwd [username] (這裏username填寫你的用戶),假設新建一個用戶test5spa
[root@zhangzhen-01 ~]# useradd test5 #建立一個用戶
[root@zhangzhen-01 ~]# passwd test5 #使用passwd修改test5用戶的密碼
更改用戶 test5 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。code注:在這裏,只有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 顯示版本信息
首先安裝一個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