Linux基礎(day12)

3.4 usermod命令

usermod命令介紹

  • usermod命令,更改用戶屬性的命令
  • 用戶的信息保存在/etc/passwd文件中

usermod命令用法

  • usermod和useradd命令用法類似

usermod格式

  • usermod -u 111 username 修改用戶的uid
  • usermod -g 123 username 這裏的123能夠是一個組名,也能夠是一個gid
  • usermod -d /home/asklea username 指定它的家目錄
  • usermod -s /sbin/nologin 指定它的shell
  • usermod -c 填寫帳號的備註信息
  • usermod -e 帳戶到期時間,格式「YYYY-MM-DD」
  • usermod -L 鎖定用戶,禁止登錄
  • usermod -U 解鎖用戶,容許登陸
  • usermod -G 擴展組,指定多個組
[root@localhost /]# id hanfeng      這個組不只包括了前面的gid,還能夠包括其餘的擴展組
uid=1000(hanfeng) gid=1000(hanfeng) 組=1000(hanfeng)
[root@localhost /]# groupadd ha1
[root@localhost /]# usermod -G ha1 hanfeng
[root@localhost /]# id hanfeng
uid=1000(hanfeng) gid=1000(hanfeng) 組=1000(hanfeng),1001(ha1)
[root@localhost /]# useradd user3
[root@localhost /]# usermod -G user3 hanfeng
[root@localhost /]# id hanfeng      這裏會發現指定-G以後,user3組替代了ha1組
uid=1000(hanfeng) gid=1000(hanfeng) 組=1000(hanfeng),1002(user3)
[root@localhost /]# usermod -G ha1,user3 hanfeng   同時添加多個組
[root@localhost /]# id hanfeng
uid=1000(hanfeng) gid=1000(hanfeng) 組=1000(hanfeng),1001(ha1),1002(user3)
一個用戶,它能夠屬於多個組,可是這個gid只有一個,咱們就能夠把除了gid以外的組,稱之爲擴展組
  • usermod -g 只能指定惟一一個組
[root@localhost /]# usermod -g ha1,user3 hanfeng
usermod:「ha1,user3」組不存在
[root@localhost /]# usermod -g ha1 hanfeng
[root@localhost /]# !id
id hanfeng
uid=1000(hanfeng) gid=1001(ha1) 組=1001(ha1),1002(user3)

usermod中-g和-G的區別

--g與-G的區別,-g只能只能指定一個組,而-G能夠指定多個組shell

  • useradd -G 指定一個或多個擴展用戶組

3.5 用戶密碼管理

passwd命令

  • passwd命令,修改用戶密碼的命令
  • 特殊權限set_uid,可使普通用戶更改本身的密碼
[root@localhost /]# passwd      這裏直接就可更改root用戶的密碼
更改用戶 root 的密碼 。
新的 密碼:
[root@localhost /]# passwd user3     在命令後面加上普通用戶,便可更改密碼
更改用戶 user3 的密碼 。
新的 密碼:
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
[root@localhost /]# tail /etc/shadow     會看到user3這個多了一串加密的字符串
systemd-bus-proxy:!!:17459::::::
systemd-network:!!:17459::::::
dbus:!!:17459::::::
polkitd:!!:17459::::::
tss:!!:17459::::::
postfix:!!:17459::::::
sshd:!!:17459::::::
chrony:!!:17459::::::
hanfeng:!!:17470:0:99999:7:::
user3:$6$1WEfFti.$gyRBbtnDqmAnsHDST5hIsE1oTlNhBAvasK3CTvCHIE2Bnga.mOZ7LWPR3xbfRz4vAtOlO6Z01iA47.evT90Nk0:17470:0:99999:7:::
  • 若用戶密碼爲空,則會顯示雙感嘆號!!,意味着這個用戶不能登陸

  • 若用戶密碼爲星號*,則表示這個用戶的密碼是被鎖定的,不能使用的,也是不能登陸的
[root@localhost ~]# head /etc/shadow
root:$6$L6sm5Qq1aGOBJOIi$okCMP5JFEiDBpcaqreOtF54FA5.qyUTG/WfAj45Od7ONdM1Ut9buK9i4xdOcaBwUaX4x3oGd/wSJl4OWh0xOJ/::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:::

總結:密碼爲!!或是*號

  • 若用戶的密碼鎖定,或是過時等狀況,只要是 !! 號或 * 號,就說明這個用戶不能登陸,密碼時有問題的

passwd命令用法

passwd命令鎖定和解鎖用戶

  • passwd -l username 鎖定用戶的密碼
[root@hf-01 ~]# passwd -l hanfeng     會發現user10用戶的密碼被鎖定了
鎖定用戶 hanfeng 的密碼 。
passwd: 操做成功
[root@hf-01 ~]# tail -n7 /etc/shadow
hanfeng:!!$6$jV74kWmS$GPP5amnrGjHQuAxqAAxyKHmLp6lOXd64pWl1YxVu5VfJSSJPFk4DvLhWhYM1.BfmXA32leqCMLcJYPeCmdBK/.:17469:0:99999:7:::
user1:!!:17465:0:99999:7:::
haha:!!:17469:0:99999:7:::
user2:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user8:!!:17469:0:99999:7:::
user10:!!:17469:0:99999:7:::
在密碼文件的/etc/shadow中,會發現hanfeng用戶的密碼加上兩個歎號!!。說明它被鎖定了
  • passwd -u user 解鎖用戶密碼
[root@hf-01 ~]# passwd -u hanfeng
解鎖用戶 hanfeng 的密碼。
passwd: 操做成功
[root@hf-01 ~]# tail -n7 /etc/shadow
hanfeng:$6$jV74kWmS$GPP5amnrGjHQuAxqAAxyKHmLp6lOXd64pWl1YxVu5VfJSSJPFk4DvLhWhYM1.BfmXA32leqCMLcJYPeCmdBK/.:17469:0:99999:7:::
user1:!!:17465:0:99999:7:::
haha:!!:17469:0:99999:7:::
user2:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user8:!!:17469:0:99999:7:::
user10:!!:17469:0:99999:7:::
在/etc/shadow的密碼文件中,會發現hanfeng用戶下的兩個歎號 !! 消失了,說明該用戶解鎖成功。

usermod命令鎖定和解鎖用戶

  • usermod -L username 鎖定用戶的密碼
[root@hf-01 ~]# usermod -L hanfeng
[root@hf-01 ~]# !tail
tail -n7 /etc/shadow
hanfeng:!$6$jV74kWmS$GPP5amnrGjHQuAxqAAxyKHmLp6lOXd64pWl1YxVu5VfJSSJPFk4DvLhWhYM1.BfmXA32leqCMLcJYPeCmdBK/.:17469:0:99999:7:::
user1:!!:17465:0:99999:7:::
haha:!!:17469:0:99999:7:::
user2:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user8:!!:17469:0:99999:7:::
user10:!!:17469:0:99999:7:::
在/etc/shadow密碼文件中,會發現密碼位置出現了一個歎號 ! ,無論是出現一個歎號,仍是兩個歎號,只要是歎號開頭了,就表示該用戶被鎖定了,不能登陸了。
  • usermod -U username 解鎖用戶的密碼
[root@hf-01 ~]# usermod -U hanfeng
[root@hf-01 ~]# !tail
tail -n7 /etc/shadow
hanfeng:$6$jV74kWmS$GPP5amnrGjHQuAxqAAxyKHmLp6lOXd64pWl1YxVu5VfJSSJPFk4DvLhWhYM1.BfmXA32leqCMLcJYPeCmdBK/.:17469:0:99999:7:::
user1:!!:17465:0:99999:7:::
haha:!!:17469:0:99999:7:::
user2:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user8:!!:17469:0:99999:7:::
user10:!!:17469:0:99999:7:::

passwd命令給用戶設定一個密碼

passwd --stdin用法

  • passwd --stdin username 給用戶設定一個密碼
    • 直接更改用戶的密碼
[root@hf-01 ~]# passwd --stdin user10
更改用戶 user10 的密碼 。
hanfeng
passwd:全部的身份驗證令牌已經成功更新。

[root@hf-01 ~]# echo "123123" |passwd --stdin user10      這會在shell中常常使用到
更改用戶 user10 的密碼 。
passwd:全部的身份驗證令牌已經成功更新。

echo -e的用法

  • echo -e 能夠在一行命令當中出現換行符
    • 反斜槓加n字母 \n ,表示換行。
    • 反斜槓加t字母 \t ,表示table
[root@hf-01 ~]# echo "123\nsss"
123\nsss
[root@hf-01 ~]# echo -e "123\nsss"
123
sss
[root@hf-01 ~]# echo -e "123\tsss"
123	sss
  • echo -e "123456\n123456" |passwd user10 一次性更改用戶的密碼
[root@hf-01 ~]# echo -e "123456\n123456" |passwd user10
更改用戶 user10 的密碼 。
新的 密碼:無效的密碼: 密碼少於 8 個字符
從新輸入新的 密碼:passwd:全部的身份驗證令牌已經成功更新。
[root@hf-01 ~]# passwd user10
更改用戶 user10 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字符
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
這裏會發現echo -e "***\n***" |passwd username這裏更改用戶密碼,會比passwd username更改用戶密碼要方便不少,只需一次就可更改爲功

設定密碼的原則

原則:密碼超過十位數起,要包括數字、大小寫字母、特殊符號,這樣才能成爲一個合格的密碼(密碼不能有規律性,不能有本身的姓名、電話等,不然會很容易被猜到)ssh

3.6mkpasswd命令

mkpasswd命令介紹

  • mkpasswd命令,全稱 make password,它是用來生成密碼的一個工具
  • 安裝包yum install -y expect (系統默認沒有這個包,須要安裝)
    • 安裝這個包就可使用mkpasswd這個命令,這個命令能夠生成隨機的字符串,能夠這這個隨機字符串作成一個密碼
[root@hf-01 ~]# mkpasswd    它會隨機生成一個大小寫、數字、符號的字符串,長度是 九位 
UgftrS^57

mkpasswd命令用法

  • mkpasswd -l number 指定生成字符串的長度 (默認爲9位數)
[root@hf-01 ~]# mkpasswd -l 12  生成了長度爲12位的字符串
9ue}dxdor2MM
  • mkpasswd -s number 指定字符串中有幾個特殊符號
    • 也能夠取消特殊符號,數字爲0 便可
[root@hf-01 ~]# mkpasswd -l 12 -s 3
xx[jbMk<9'M9
[root@hf-01 ~]# mkpasswd -l 12 -s 0
bevtic7Fu7Kh
在寫腳本中常常會用到mkpasswd命令,再生成後,還需記錄到文本文檔中去
相關文章
相關標籤/搜索