C語言中文網 目錄

Linux chage用法詳解:修改用戶密碼狀態

< 上一頁Linux usermod Linux userdel下一頁 >

除了 passwd -S 命令可以查看用戶的密碼信息外,還可以利用 chage 命令,它可以顯示更加詳細的用戶密碼信息,并且和 passwd 命令一樣,提供了修改用戶密碼信息的功能。

如果你要修改用戶的密碼信息,我個人建議,還是直接修改 /etc/shadow 文件更加方便。

首先,我們來看 chage 命令的基本格式:

[root@localhost ~]#chage [選項] 用戶名

選項:
  • -l:列出用戶的詳細密碼狀態;
  • -d 日期:修改 /etc/shadow 文件中指定用戶密碼信息的第 3 個字段,也就是最后一次修改密碼的日期,格式為 YYYY-MM-DD;
  • -m 天數:修改密碼最短保留的天數,也就是 /etc/shadow 文件中的第 4 個字段;
  • -M 天數:修改密碼的有效期,也就是 /etc/shadow 文件中的第 5 個字段;
  • -W 天數:修改密碼到期前的警告天數,也就是 /etc/shadow 文件中的第 6 個字段;
  • -i 天數:修改密碼過期后的寬限天數,也就是 /etc/shadow 文件中的第 7 個字段;
  • -E 日期:修改賬號失效日期,格式為 YYYY-MM-DD,也就是 /etc/shadow 文件中的第 8 個字段。

【例 1】

#查看一下用戶密碼狀態
[root@localhost ~]# chage -l lamp
Last password change:Jan 06, 2013
Password expires:never
Password inactive :never
Account expires :never
Minimum number of days between password change :0
Maximum number of days between password change :99999
Number of days of warning before password expires :7


讀者可能會問,既然直接修改用戶密碼文件更方便,為什么還要講解 chage 命令呢?因為 chage 命令除了修改密碼信息的功能外,還可以強制用戶在第一次登錄后,必須先修改密碼,并利用新密碼重新登陸系統,此用戶才能正常使用。

例如,我們創建 lamp 用戶,并讓其首次登陸系統后立即修改密碼,執行命令如下:

#創建新用戶 lamp
[root@localhost ~]#useradd lamp
#設置用戶初始密碼為 lamp
[root@localhost ~]#echo "lamp" | passwd --stdin lamp
#通過chage命令設置此賬號密碼創建的日期為 1970 年 1 月 1 日(0 就表示這一天),這樣用戶登陸后就必須修改密碼
[root@localhost ~]#chage -d 0 lamp


這樣修改完 lamp 用戶后,我們嘗試用 lamp 用戶登陸系統(初始密碼也是 lamp):

local host login:lamp
Password:     <--輸入密碼登陸
You are required to change your password immediately (root enforced)
changing password for lamp.     <--有一些提示,就是說明 root 強制你登錄后修改密碼
(current)UNIX password:
#輸入舊密碼
New password:
Retype new password:
#輸入兩次新密碼

chage 的這個功能常和 passwd 批量初始化用戶密碼功能合用,且對學校老師幫助比較大,因為老師不想知道學生賬號的密碼,他們在初次上課時就使用與學號相同的賬號和密碼給學生,讓他們登陸時自行設置他們的密碼。這樣一來,既能避免學生之間隨意使用別人的賬號,也能保證學生知道如何修改自己的密碼。
< 上一頁Linux usermod Linux userdel下一頁 >

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo