usermod命令 、用戶密碼管理、 mkpasswd命令

1、usermod命令

usermod命令是用來更改用戶屬性的,其格式爲usermod -參數 username 其經常使用參數以下:shell

  • a /append ##把用戶追加到某些組中,只跟-G一塊兒使用。
  • d /home ## 指定用戶的家目錄。
  • e /expiredate ##指定用戶帳號禁用日期,日期格式爲:YY-MM-DD
  • f /inactive ##用戶帳號密碼過時多少天后禁用該帳號,0表示只要過時就禁用帳號,-1表示禁用該功能。
  • g /gid ##修改用戶的gid,該gid必須存在,才能使用
  • G /groups ##把用戶追加到某些組裏,能夠追加到多個組中,每一個組之間用「,」隔開
  • l /login ##修改用戶的登陸名稱
  • L /lock ##鎖定用戶的密碼=passwd -l username
  • s / shell ##修改用戶的shell
  • u / uid ##修改用戶的uid,uid 是惟一的
  • U /unlock ##解鎖用戶的密碼=passwd -u username

舉例分析

使用usermod -g 修改用戶的屬組,執行結果以下:bash

[root@localhost ~]# usermod -g li1 li1
[root@localhost ~]# id li1
uid=1001(li1) gid=1001(li1) 組=1001(li1)
[root@localhost ~]# usermod -g work1 li1
[root@localhost ~]# id li1
uid=1001(li1) gid=1002(work1) 組=1002(work1)

使用usermod -G命令將用戶追加到多個組裏面 ,執行結果以下:app

[root@localhost ~]# usermod -G work1,lichao,li1 li1
[root@localhost ~]# id li1
uid=1001(li1) gid=1002(work1) 組=1002(work1),1000(lichao),1001(li1)
[root@localhost ~]#

使用usermod -d 更改用戶的家目錄,執行結果以下:ssh

[root@localhost ~]# tail -n2 /etc/passwd
lichao:x:1000:1000::/home/lichao:/bin/bash
li1:x:1001:1002::/home/li1:/bin/bash
[root@localhost ~]# usermod -d /home/lichao li1
[root@localhost ~]# !tail
tail -n2 /etc/passwd
lichao:x:1000:1000::/home/lichao:/bin/bash
li1:x:1001:1002::/home/lichao:/bin/bash

使用usermod -l 修改用戶名,執行結果以下:工具

[root@localhost ~]# usermod -l ldy li1
[root@localhost ~]# tail /group
[root@localhost ~]# tail -n5 /etc/passwd
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
lichao:x:1000:1000::/home/lichao:/bin/bash
ldy:x:1001:1002::/home/lichao:/bin/bash

使用usermod -L 鎖定用戶密碼,使用usermod -U 解鎖用戶密碼post

[root@test-01 ~]# usermod -L lichao
[root@test-01 ~]# tail /etc/shadow
avahi:!!:17512::::::
avahi-autoipd:!!:17512::::::
postfix:!!:17512::::::
sshd:!!:17512::::::
lc1:!!:17521:0:99999:7:::
lc2:!!:17521:0:99999:7:::
lichao:!$6$scJg7AnT$iJx/pPM2mLK8sWq0NDRX5Dur9wWLEKWwL8Zb5iYG6Y5ioV.WZtFbTeGaDGb4EVxrEXIsFuq3QKZrPyVrNzZLF0:17522:0:99999:7:::
li1:!!:17526:0:99999:7:::
li3:!!:17526:0:99999:7:::
lic3:!!:17526:0:99999:7:::
[root@test-01 ~]# usermod -U lichao
[root@test-01 ~]# !tail
tail /etc/shadow
avahi:!!:17512::::::
avahi-autoipd:!!:17512::::::
postfix:!!:17512::::::
sshd:!!:17512::::::
lc1:!!:17521:0:99999:7:::
lc2:!!:17521:0:99999:7:::
lichao:$6$scJg7AnT$iJx/pPM2mLK8sWq0NDRX5Dur9wWLEKWwL8Zb5iYG6Y5ioV.WZtFbTeGaDGb4EVxrEXIsFuq3QKZrPyVrNzZLF0:17522:0:99999:7:::
li1:!!:17526:0:99999:7:::
li3:!!:17526:0:99999:7:::
lic3:!!:17526:0:99999:7:::
[root@test-01 ~]#

2、用戶密碼管理

給用戶設置密碼的命令:passwd usernameui

[root@test-01 ~]# passwd lichao
更改用戶 lichao 的密碼 。
新的 密碼:
無效的密碼: 密碼包含用戶名在某些地方
從新輸入新的 密碼:
passwd:全部的身份驗證令牌已經成功更新。
[root@test-01 ~]#

使用passwd -l 能夠鎖定一個帳戶的密碼=usermod -L .使用passwd -u 能夠給帳戶解鎖=usermod -U 。 這裏再也不贅述。 還有一個給用戶設置密碼的命令,passwd --stdin usernamecode

[root@test-01 ~]# passwd --stdin lichao
更改用戶 lichao 的密碼 。
12345678
passwd:全部的身份驗證令牌已經成功更新。

這種方式多用在腳本當中使用,其使用格式爲 ,echo "12345678" |passwd --stdin usernameip

[root@test-01 ~]# echo "11223344" |passwd --stdin lichao
更改用戶 lichao 的密碼 。
passwd:全部的身份驗證令牌已經成功更新。

還有一種更改密碼的方式,ci

[root@test-01 ~]# echo -e "1122334455\n1122334455"|passwd lichao

更改用戶 lichao 的密碼 。
新的 密碼:無效的密碼: 密碼未經過字典檢查 - 它基於字典單詞
從新輸入新的 密碼:passwd:全部的身份驗證令牌已經成功更新。
[root@test-01 ~]#

** 一個小知識點,echo -e 能夠在這這條命令裏出現一個換行符或Tab,使用方式以下:

[root@test-01 ~]# echo -e "11223344\n33445566"
11223344
33445566
[root@test-01 ~]# echo -e "11223344\t33445566"
11223344	33445566

在使用echo -e 命令是,後面跟的有兩組字符串,而且兩組字符串用「\」隔開,在「\」後加n執行後會換行顯示,在「\」後面加t ,會隔開顯示(至關於按了一下tab鍵)

3、mkpasswd工具

mkpasswd=make passwd,在使用以前要肯定裝有expect包,若是沒有就須要先使用yum install -y expect來安裝。運行mkpasswd 系統會生成一個9個字符的沒有規律的字符串,能夠用來當密碼,

  • -l 指定密碼長度(多少個字符,默認狀況下是9個字符)
  • -s 指定密碼中有多少個特殊字符
  • -c 指定密碼中有多少個小寫字母
  • -C 指定密碼中有多少個大寫字母
  • -d 指定密碼中有多少個數字
[root@localhost ~]# mkpasswd
%0sbzW4bK
[root@localhost ~]# mkpasswd -l 15 -C 10 -s 3
impossible to generate 15-character password with 2 numbers, 2 lowercase letters, 10 uppercase letters and 3 special characters.
[root@localhost ~]# mkpasswd -l 15 -C 8 -s 3
%<rCKR11HP|GWpD
[root@localhost ~]# mkpasswd -l 15 -d 10
e9722v3YJ907,41

能夠看到當mkpasswd -l 15 -C 10 -s 3 它會提示錯誤,這是由於設置一個長度爲15個字符的密碼,它裏面最少會有2個數字,2個小寫字母,這樣就不夠再同時擁有10個大寫字母和3個特殊字符了。因此會提示錯誤

相關文章
相關標籤/搜索