歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 詳解Linux中的用戶密碼管理命令passwd和change

詳解Linux中的用戶密碼管理命令passwd和change

日期:2017/3/1 17:31:17   编辑:Linux技術

passwd

修改用戶密碼
參數

-k 保持未過期身份驗證令牌
-l 關閉賬號密碼。效果相當於usermod -L,只有root才有權使用此項。
-u 恢復賬號密碼。效果相當於usermod -U,同樣只有root才有權使用。
-g 修改組密碼。gpasswd的等效命令。
-f 更改由finger命令訪問的用戶信息。
-d 關閉使用者的密碼認證功能, 使用者在登入時將可以不用輸入密碼, 只有具備 root 權限的使用者方可使用.
-S 顯示指定使用者的密碼認證種類, 只有具備 root 權限的使用者方可使用.

passwd 是個文本文件, 它包含了一個系統帳戶列表, 給出每個帳戶一些有用的信息,比如用戶 ID,組 ID, 家目錄, shell,等. 通常它也包含了每個用戶經過加密的密碼. 它通常應該是可讀的(許多命令,工具程序,象 ls (1) 用它做用戶 Id 到用戶名稱的映射),但是只允許超級用戶有寫方式權限.

在過去美好的日子裡,這種一般的讀許可沒有什麼大問題. 每個人都能讀到加密了的密碼,因為硬件太慢以至於不能解開一個 精選的密碼,另外,這基本假定是為友好的使用團體使用的. 現在,許多人運行一些版本的影子密碼套件,它們在 /etc/passwd 的密碼域裡是 *,而不再是加密的口令, 加密的口令放在 /etc/shadow 中,那個文件只有超級用戶能讀.
不管是否使用了影子密碼,許多系統管理員使用一個星號在加密的密碼字段 以確保用戶不能鑒別他(她)自己的密碼. (見下面的注意)
如果你建立了一個新的登錄,首先放個星號在密碼字段, 然後使用 passwd(1) 設置它.
(密碼文件)裡每行一條記錄,並且每行有這樣的格式:

account
password:UID:GID:GECOS:directory:shell (帳號:密碼:用戶ID:組ID:一般的信息:目錄:shell)

字段描述如下:

account
使用者在系統中的名字,它不能包含大寫字母.
password
加密的用戶密碼,或者星號。
UID
用戶 ID 數。
GID
用戶的主要組 ID 數。
GECOS
這字段是可選的,通常為了存放信息目的而設的. 通常,它包含了用戶的全名. GECOS 意思是通用電氣綜合操作系統(General Electric Comprehensive Operating System), 當 GE 的大型系統部分割售賣給 Honeywell 時它被改為 GCOS. Dennis Ritchie 作過報告:"有時我們發送印刷品或批道作業到 GCOS機器時,gcos 字段打斷了 $IDENT 卡的信息,不太美觀。"(譯者:我想是太長吧)
directory
用戶的 $HOME 目錄.
shell
登錄時運行的程序(如果空的,使用 /bin/sh). 如果設為不存在的執行(程序),用戶不能通過 login(1) 登錄.

注意
如果你想建立用戶組,他們的 GID 必須相等並且一定是在 /etc/group 的一條記錄, 要不然組就不存在.
如果加密密碼設成星號,用戶將不能用 login(1) 來登錄, 但依然可以用 rlogin(1) 登錄, 通過 rsh(1) 或者 cron(1) 或者 at(1) 或者 mail 過濾器等程序運行已有的進程和開始新的等. 試圖通過簡單改變 shell
字段鎖住一個用戶結果是一樣的, 而且還附上了使用 su(1) 的權限.

例:

復制代碼代碼如下:
[root@Blackghost ~] passwd zhangying #給zhangying修改密碼

chage
密碼失效是通過此命令來管理的。

  參數意思:
  -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
  -M 密碼保持有效的最大天數。
  -W 用戶密碼到期前,提前收到警告信息的天數。
  -E 帳號到期的日期。過了這天,此帳號將不可用。
  -d 上一次更改的日期
  -I 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
  -l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。

例1:

復制代碼代碼如下:
[root@localhost ~]# chage -l zhangy #查看用戶密碼設定情況

最近一次密碼修改時間 : 4月 27, 2013
密碼過期時間 : 從不
密碼失效時間 : 從不
帳戶過期時間 : 從不
兩次改變密碼之間相距的最小天數 :-1
兩次改變密碼之間相距的最大天數 :-1
在密碼過期之前警告的天數 :-1

復制代碼代碼如下:
[root@localhost ~]# chage -M 90 zhangy #密碼有效期90天


復制代碼代碼如下:
[root@localhost ~]# chage -d 0 zhangy #強制用戶登陸時修改口令


復制代碼代碼如下:
[root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 zhangy #強制用戶下次登陸時修改密碼,並且設置密碼最低有效期0和最高有限期90,提前15天發警報提示

例2:

復制代碼代碼如下:
# chage -E '2014-09-30' test # test這個賬號的有效期是2014-09-30

Copyright © Linux教程網 All Rights Reserved