1. 程式人生 > >十二、usermod命令、用戶密碼管理、mkpasswd命令

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

有時 小寫 其他 文件 電話 mod 沒有 happy --

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

一、usermod命令

usermod:更改用戶屬性。

格式:usermod -u 111 username;usermod -g 123 username(-g後面可以是組名,也可以是gid)

也可以-d指定家目錄,-s指定它的shell

-G:擴展組

命令id+用戶名:可以查看該用戶的uid,gid和組。這個組不僅包含了前面的gid,還可以包括其他的擴展組。一個用戶可以屬於多個組,但是gid只有一個,我們把除了gid以外的組叫做擴展組。

小實驗:

# usermod -G grp1 user1

# id user1

uid=1000(user1) gid=1000(user1) 組=1000(user1),1001(grp1)

# usermod -G grp2 user1

# id user1

uid=1000(user1) gid=1000(user1) 組=1000(user1),1002(grp2)

# usermod -G grp1,grp2 user1

# id user1

uid=1000(user1) gid=1000(user1) 組=1000(user1),1001(grp1),1002(grp2)

# usermod -g grp1,grp2 user1

usermod:“grp1,grp2”組不存在

# usermod -g grp1 user1

# id user1

uid=1000(user1) gid=1001(grp1) 組=1001(grp1),1002(grp2)

上例中,-G加一個組,擴展了一個組,再-G另外一個組,grp2就替換了之前的grp1組,-G同時加兩個組,便擴展兩個組,當-g兩個組的時候,會報錯,是因為系統將grp1和grp2看成了一個組,-g一個組以後,便更改了用戶的gid。

二、用戶密碼管理

passwd命令

賬戶創建後,默認是沒有設置密碼的,只有設置好密碼後,才可以登錄系統。為了安全,建議按如下規則設置密碼:

a)長度大於10個字符;

b)密碼中包含大小寫字母、數字以及特殊符號*&%等;

c)不規則性(不要出現happy,love,Linux,111111等單詞或者數字);

d)密碼中不要帶有自己的名字、電話、生日以及公司名字等。

為賬戶設置密碼,使用命令passwd,格式為passwd [username]。該命令後面若不加用戶名字,則是為自己設定密碼。若登錄的是root用戶,後面可以跟普通用戶的名字,意思是修改指定賬戶的密碼。需要註意的是,只有root才可以修改其他賬戶的密碼,普通賬戶只可以修改自己的密碼。改完以後可以tail進/etc/shadow查看到自己設置的用戶後面有一個加密的字符串,若沒有設置密碼,會顯示兩個感嘆號,密碼為空則不能登錄;若用戶的密碼位顯示的是*號,表示該用戶的密碼是鎖定的,不能用的,也是不能登錄的。

-l選項(lock):鎖定用戶的密碼。tail查看shadow文件,可以看到加密字符串前面多了兩個!!。

-u選項(unlock):解鎖用戶密碼。tail查看shadow文件,可以看到加密字符串前面的!!消失。

usermod -L username也可以鎖定用戶密碼,tail查看shadow文件,可以看到加密字符串前面多了一個!。

usermod -U username解鎖用戶密碼。

# passwd --stdin username

這條命令也可以更改密碼,只輸入一次,並且密碼是明文顯示。

# echo "111222" |passwd --stdin username

這條命令不用再輸入任何的密碼,管道符:將前面命令的結果傳遞給後面的命令。

# echo -e "123\nsss" (-e:表示一行內可以出現一個換行符,\為換行符)

# echo -e "123\nsss"

123

sss

# echo "123\nsss"

123\nsss

不加-e則會原封不動的打印出來。

# echo -e "123\tsss"

123 sss

# echo -e "1231111\n1231111" |passwd username也可更改密碼。

三、mkpasswd命令(make passwd)

mkpasswd:用於生成密碼的工具。安裝的Linux默認是沒有這個命令的,需要安裝一個expect軟件包,命令:

# yum install -y expect

# mkpasswd

w0qR8iCr&

有時我們需要生成指定長度的密碼,用此命令也可滿足,比如,生成12位長度的密碼,示例命令:

# mkpasswd -l 12

2rvlwHx1f:Xt

當然,還可以指定密碼中有幾個特殊字符或數字,示例命令:

# mkpasswd -l 12 -s 0 -d 3

Lz9Hyv1cb4uc

上例中,-s指定特殊字符的個數,-d指定數字的個數。用這個隨機字符串作為密碼非常好,只是不便於記憶,可以記錄在keepass裏。


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