usermod命令,用戶密碼管理和mkpasswd命令

usermod 設置擴展組

概念:更改用戶屬性的一個命令。
用法: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

用戶密碼管理 passwd命令

概念:帳戶建立後,默認是沒有設置密碼的,只有設置好密碼後才能夠登陸系統。在爲用戶建立密碼時,儘可能設置複雜一些。
以下是密碼複雜度規則介紹:
-- 長度大於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 顯示版本信息

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表示有幾個數字。

相關文章
相關標籤/搜索