Linux系統下修改用戶密碼全攻略

 

  基本的修改密碼命令
一、passwd 簡單說明;工具

  咱們已經學會如何添加用戶了,因此咱們還要學習設置或修改用戶的密碼;passwd命令的用法也不少,咱們只選以下的幾個參數加以說明;想了解更多,請參考man passwd或passwd --help ;學習

passwd [OPTION...]


passwd 做爲普通用戶和超級權限用戶均可以運行,但做爲普通用戶只能更改本身的用戶密碼,但前提是沒有被root用戶鎖定;若是root用戶運行passwd ,能夠設置或修改任何用戶的密碼;spa

  passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;請看下面的例子;
 .net

[root@localhost ~]# passwd

  注:沒有加任何用戶,我是用root用戶來執行的passwd 表示修改root用戶的密碼;下面也有提示;
Changing password for user root.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:驗證新密碼;
passwd: all authentication tokens updated successfully. 注:修改root密碼成功;命令行

  若是是普通用戶執行passwd 只能修改本身的密碼;token

  若是新建用戶後,要爲新用戶建立密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來建立;ip

[root@localhost ~]# passwd beinan

注:更改或建立beinan用戶的密碼;
Changing password for user beinan.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:再輸入一次;
passwd: all authentication tokens updated successfully. 注:成功;get

  普通用戶若是想更改本身的密碼,直接運行passwd便可;好比當前操做的用戶是beinan;io

[beinan@localhost ~]$ passwd


Changing password for user beinan. 注:更改beinan用戶的密碼;
(current) UNIX password: 注:請輸入當前密碼;
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:確認新密碼;
passwd: all authentication tokens updated successfully. 注:更改爲功;class

  
二、passwd 幾個比較重要的參數;

[root@localhost beinan]# passwd --help


Usage: passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
注:保留即將過時的用戶在期滿後能仍能使用;
-d, --delete  delete the password for the named account (root only)
注:刪除用戶密碼,僅能以root權限操做;
-l, --lock  lock the named account (root only)
注:鎖住用戶無權更改其密碼,僅能經過root權限操做;
-u, --unlock  unlock the named account (root only)
注:解除鎖定;
-f, --force force operation
注:強制操做;僅root權限才能操做;
-x, --maximum=DAYS  maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操做;
-n, --minimum=DAYS  minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操做;
-w, --warning=DAYS  number of days warning users receives before 注:在距多少天提醒用戶修改密碼;僅能root權限操做;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密碼過時後多少天,用戶被禁掉,僅能以root操做;
account becomes disabled (root only)
-S, --status  report password status on the named account (root 注:查詢用戶的密碼狀態,僅能root用戶操做;
only)
--stdin read new tokens from stdin (root only)

  好比咱們讓某個用戶不能修改密碼,能夠用-l 參數來鎖定:

[root@localhost ~]# passwd -l beinan

注:鎖定用戶beinan不能更改密碼;
Locking password for user beinan.
passwd: Success 注:鎖定成功;
[beinan@localhost ~]# su beinan 注:經過su切換到beinan用戶;
[beinan@localhost ~]$ passwd 注:beinan來更改密碼;
Changing password for user beinan.
Changing password for beinan
(current) UNIX password: 注:輸入beinan的當前密碼;
passwd: Authentication token manipulation error 注:,不能更改密碼;

  
再來一例:

[root@localhost ~]# passwd -d beinan

注:清除beinan用戶密碼;
Removing password for user beinan.
passwd: Success  注:清除成功;

[root@localhost ~]# passwd -S beinan

注:查詢beinan用戶密碼狀態;
Empty password. 注:空密碼,也就是沒有密碼;

  注意: 當咱們清除一個用戶的密碼時,登陸時就無需密碼;這一點要加以注意;


三、chage 修改用戶密碼有效期限的命令;

  chage 用語法格式:

  chage [-l] [-m 最小天數] [-M 最大天數] [-W 警告] [-I 失效日] [-E 過時日] [-d 最後日] 用戶

  前面已經說的好多了,這個只是一筆帶過吧,知道有這個命令就行,本身實踐實踐再說,大致和psswd有些參數的用法差很少;

  密 碼時效命令-----chage

  格式爲:chage [<選項>] <用戶名>
下面列出了chage命令的選項說明:
-m days: 密碼可更改的最小天數。爲零時表明任什麼時候候均可以更改密碼。
-M days: 指定口令有效的最多天數。當該選項指定的天數加上-d選項指定的天數小於當前的日期時,用戶在使用該賬號前就必須改變口令。
-d days: 指定從1970年1月1日起,口令被改變的天數。
-I days: 指定口令過時後,賬號被鎖前不活躍的天數。若是值爲0,賬號在口令過時後就不會被鎖。
-E date: 指定賬號被鎖的日期。日期格式YYYY-MM-DD。若不用日期,也可使用自1970年1月1往後通過的天數。
-W days: 指定口令過時前要警告用戶的天數。
-l: 列出指定用戶當前的口令時效信息,以肯定賬號什麼時候過時。
例以下面的命令要求用戶user1兩天內不能更改口令,而且口令最長的存活期爲30天,而且口令過時前5天通知用戶
chage -m 2 -M 30 -W 5 user1
可使用以下命令查看用戶user1當前的口令時效信息:chage -l user1
提示:1)可使用chage <用戶名>進入交互模式修改用戶的口令時效。
2)修改口令實質上就是修改影子口令文件/etc/shadow中與口令時效相關的字段值。

  強制用戶在下次登陸時修改密碼

  每一個Linux用戶都關聯這不一樣的密碼相關配置和信息。好比,記錄着上次密碼更改的日期、最小/最大的修改密碼的天數、密碼什麼時候過時等等。

  一個叫chage的命令行工具能夠訪問並調整密碼過時相關配置。你可使用這個工具來強制用戶在下次登陸修改密碼、

  要查看特定用戶的過時信息(好比:alice),運行下面的命令。注意的是除了你本身以外查看其餘任何用戶的密碼信息都須要root權限。

$ sudo chage -l alice

  強制用戶修改密碼
若是你想要強制用戶去修改他/她的密碼,使用下面的命令。

$ sudo chage -d0 <user-name>


本來「-d 」參數是用來設置密碼的「年齡」(也就是上次修改密碼起到1970/1/1起的天數)。所以「-d0」的意思是上次密碼修改的時間是1970/1/1,這就讓當前的密碼過時了,也就強制讓他在下次登陸的時候修改密碼了。

  另一個過時當前密碼的方式是用passwd命令。

$ sudo passwd -e <user-name>


上面的命令和「chage -d0」做用同樣,讓當前用戶的密碼當即過時。

  如今檢查用戶的信息,你會發現:

  當你再次登陸時候,你會被要求修改密碼。你會在修改前被要求再驗證一次當前密碼。

相關文章
相關標籤/搜索