linux中給使用者加密碼的命令是「passwd」。passwd命令是用來更改使用者密碼的,語法為「passwd [選項] 使用者名稱」;當只省略「選項」引數時可以設定指定使用者的密碼,當省略「選項」和「使用者名稱」數時可以設定當前使用者的密碼。passwd命令還可配合「-n 天數」選項引數,設定使用者修改密碼後,多長時間不能再次修改密碼;配合「-x 天數」選項引數,設定使用者的密碼有效期。
本教學操作環境:linux7.3系統、Dell G3電腦。
使用useradd命令建立新使用者時,並沒有設定使用者密碼,因此還無法用來登陸系統。那麼怎麼給使用者加密碼呢?
在linux中,可以使用passwd命令給使用者設定密碼。
passwd 命令的基本格式如下:
passwd [選項] 使用者名稱
如果只省略「選項」引數時可以設定指定使用者的密碼
如果省略「選項」和「使用者名稱」數時可以設定當前使用者的密碼
例如,我們使用 root 賬戶修改 lamp 普通使用者的密碼,可以使用如下命令:
[root@localhost ~]#passwd lamp Changing password for user lamp. New password: <==直接輸入新的口令,但螢幕不會有任何反應 BAD PASSWORD: it is WAY too short <==口令太簡單或過短的錯誤!這裡只是警告資訊,輸入的密碼依舊能用 Retype new password: <==再次驗證輸入的密碼,再輸入一次即可 passwd: all authentication tokens updated successfully. <==提示修改密碼成功
例如,我們登陸 lamp 使用者,並使用 passwd 命令修改 lamp 的登陸密碼,執行過程如下:
[root@localhost ~]#passwd #passwd直接回車代表修改當前使用者的密碼 Changing password for user vbird2. Changing password for vbird2 (current) UNIX password: <==這裡輸入『原有的舊口令』 New password: <==這裡輸入新口令 BAD PASSWORD: it is WAY too short <==口令檢驗不通過,請再想個新口令 New password: <==這裡再想個來輸入吧 Retype new password: <==通過口令驗證!所以重複這個口令的輸入 passwd: all authentication tokens updated successfully. <==成功修改使用者密碼
注意,普通使用者只能使用 passwd 命令修改自己的密碼,而不能修改其他使用者的密碼。
可以看到,與使用 root 賬戶修改普通使用者的密碼不同,普通使用者修改自己的密碼需要先輸入自己的舊密碼,只有舊密碼輸入正確才能輸入新密碼。不僅如此,此種修改方式對密碼的複雜度有嚴格的要求,新密碼太短、太簡單,都會被系統檢測出來並禁止使用者使用。
passwd 命令還提供了一些選項,用於實現不同功能:
-S:查詢使用者密碼的狀態,也就是 /etc/shadow 檔案中此使用者密碼的內容。僅 root 使用者可用;
-l:暫時鎖定使用者,該選項會在 /etc/shadow 檔案中指定使用者的加密密碼串前新增 "!",使密碼失效。僅 root 使用者可用;
-u:解鎖使用者,和 -l 選項相對應,也是隻能 root 使用者使用;
--stdin:可以將通過管道符輸出的資料作為使用者的密碼。主要在批次新增使用者時使用;
-n 天數:設定該使用者修改密碼後,多長時間不能再次修改密碼,也就是修改 /etc/shadow 檔案中各行密碼的第 4 個欄位;
-x 天數:設定該使用者的密碼有效期,對應 /etc/shadow 檔案中各行密碼的第 5 個欄位;
-w 天數:設定使用者密碼過期前的警告天數,對於 /etc/shadow 檔案中各行密碼的第 6 個欄位;
-i 日期:設定使用者密碼失效日期,對應 /etc/shadow 檔案中各行密碼的第 7 個欄位。
【例 1】
#檢視使用者密碼的狀態
[root@localhost ~]# passwd -S lamp lamp PS 2013-01-06 0 99999 7 -1 (Password set, SHA512 crypt.) #上面這行程式碼的意思依次是:使用者名稱 密碼 設定時間(2013*01-06) 密碼修改間隔時間(0) 密碼有效期(99999) 警告時間(7) 密碼不失效(-1),密碼已使用
"-S"選項會顯示出密碼狀態,這裡的密碼修改間隔時間、密碼有效期、警告時間、密碼寬限時間其實分別是 /etc/shadow 檔案的第四、五、六、七個欄位的內容。 當然,passwd 命令是可以通過命令選項修改這幾個欄位的值的,例如:
#修改 lamp的密碼,使其具有 60 天變更、10 天密碼失效 [root@localhost ~]# passwd -x 60 -i 10 lamp [root@localhost ~]# passwd -S lamp lamp PS 2013-01-06 0 60 7 10 (Password set, SHA512 crypt.)
但我個人認為,還是直接修改 /etc/shadow 檔案簡單一些。
這裡顯示 SHA512 為密碼加密方式,CentOS 6.3 加密方式已經從 MD5 加密更新到 SHA512 加密,我們不用瞭解具體的加密演演算法,只要知道這種加密演演算法更加可靠和先進就足夠了。
【例 2】
#鎖定 lamp 使用者 [root@localhost ~]# passwd -I lamp Locking password for user lamp. passwd:Successg #用"-S"選項査看狀態,很清楚地提示密碼已被鎖定 [root@localhost ~]# passwd -S lamp lamp LK 2013-01-06 0 99999 7 -1 (Password locked.) [root@localhost ~]# grep "lamp" /etc/shadow lamp:!! $6$ZTq7o/9o $lj07iZ0bzW.D1zBa9CsY43d04onskUCzjwiFMNt8PX4GXJoHX9zA1S C9.i Yzh9LZA4fEM2lg92hM9w/p6NS50.:15711:0:99999:7::: #可以看到,鎖定其實就是在加密密碼之前加入了"!!",讓密碼失效而已
暫時鎖定 lamp 使用者後,此使用者就不能登入系統了。那麼,怎麼解鎖呢?也一樣簡單,使用如下命令即可:
#解鎖 lamp 使用者 [root@localhost ~]# passwd -u lamp Unlocking password for user lamp. passwd:Success [root@localhost ~]# passwd -S lamp lamp PS 2013-01-06 0 99999 7 -1 (Password set, SHA512 crypt.) #可以看到,鎖定狀態消失 [root@localhost ~]# grep "lamp" /etc/shadow lamp: $6$ZTq7cV9o $lj07iZ0bzW.D1zBa9CsY43d04onskUCzjwiFMNt8PX4GXJoHX9zA1S C9.iYz h9LZA4fEM2lg92hM9w/p6NS50.:15711:0:99999:7::: #密碼前面的 "!!" 刪除了
相關推薦:《Linux視訊教學》
以上就是linux中給使用者加密碼的命令是什麼的詳細內容,更多請關注TW511.COM其它相關文章!