linux中給用戶加密碼的命令是“passwd”。passwd命令是用來更改用戶密碼的,語法為“passwd [選項] 用戶名”;當(dāng)只省略“選項”參數(shù)時可以設(shè)置指定用戶的密碼,當(dāng)省略“選項”和“用戶名”數(shù)時可以設(shè)置當(dāng)前用戶的密碼。passwd命令還可配合“-n 天數(shù)”選項參數(shù),設(shè)置用戶修改密碼后,多長時間不能再次修改密碼;配合“-x 天數(shù)”選項參數(shù),設(shè)置用戶的密碼有效期。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
使用useradd命令創(chuàng)建新用戶時,并沒有設(shè)定用戶密碼,因此還無法用來登陸系統(tǒng)。那么怎么給用戶加密碼呢?
在linux中,可以使用passwd命令給用戶設(shè)置密碼。
passwd 命令的基本格式如下:
passwd?[選項]?用戶名
-
如果只省略“選項”參數(shù)時可以設(shè)置指定用戶的密碼
-
如果省略“選項”和“用戶名”數(shù)時可以設(shè)置當(dāng)前用戶的密碼
例如,我們使用 root 賬戶修改 lamp 普通用戶的密碼,可以使用如下命令:
[root@localhost?~]#passwd?lamp Changing?password?for?user?lamp. New?password:?<p>例如,我們登陸 lamp 用戶,并使用 passwd 命令修改 lamp 的登陸密碼,執(zhí)行過程如下:<br></p><pre class="brush:php;toolbar:false">[root@localhost?~]#passwd #passwd直接回車代表修改當(dāng)前用戶的密碼 Changing?password?for?user?vbird2. Changing?password?for?vbird2 (current)?UNIX?password:?<p>注意,普通用戶只能使用 passwd 命令修改自己的密碼,而不能修改其他用戶的密碼。</p><p>可以看到,與使用 root 賬戶修改普通用戶的密碼不同,普通用戶修改自己的密碼需要先輸入自己的舊密碼,只有舊密碼輸入正確才能輸入新密碼。不僅如此,此種修改方式對密碼的復(fù)雜度有嚴格的要求,新密碼太短、太簡單,都會被系統(tǒng)檢測出來并禁止用戶使用。</p><p>passwd 命令還提供了一些選項,用于實現(xiàn)不同功能:</p>
-
-S:查詢用戶密碼的狀態(tài),也就是 /etc/shadow 文件中此用戶密碼的內(nèi)容。僅 root 用戶可用;
-
-l:暫時鎖定用戶,該選項會在 /etc/shadow 文件中指定用戶的加密密碼串前添加 “!”,使密碼失效。僅 root 用戶可用;
-
-u:解鎖用戶,和 -l 選項相對應(yīng),也是只能 root 用戶使用;
-
–stdin:可以將通過管道符輸出的數(shù)據(jù)作為用戶的密碼。主要在批量添加用戶時使用;
-
-n 天數(shù):設(shè)置該用戶修改密碼后,多長時間不能再次修改密碼,也就是修改 /etc/shadow 文件中各行密碼的第 4 個字段;
-
-x 天數(shù):設(shè)置該用戶的密碼有效期,對應(yīng) /etc/shadow 文件中各行密碼的第 5 個字段;
-
-w 天數(shù):設(shè)置用戶密碼過期前的警告天數(shù),對于 /etc/shadow 文件中各行密碼的第 6 個字段;
-
-i 日期:設(shè)置用戶密碼失效日期,對應(yīng) /etc/shadow 文件中各行密碼的第 7 個字段。
【例 1】
#查看用戶密碼的狀態(tài)
[root@localhost?~]#?passwd?-S?lamp lamp?PS?2013-01-06?0?99999?7?-1?(Password?set,?SHA512?crypt.) #上面這行代碼的意思依次是:用戶名?密碼?設(shè)定時間(2013*01-06)?密碼修改間隔時間(0)?密碼有效期(99999)?警告時間(7)?密碼不失效(-1),密碼已使用
“-S”選項會顯示出密碼狀態(tài),這里的密碼修改間隔時間、密碼有效期、警告時間、密碼寬限時間其實分別是 /etc/shadow 文件的第四、五、六、七個字段的內(nèi)容。 當(dāng)然,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 加密方式已經(jīng)從 MD5 加密更新到 SHA512 加密,我們不用了解具體的加密算法,只要知道這種加密算法更加可靠和先進就足夠了。
【例 2】
#鎖定?lamp?用戶 [root@localhost?~]#?passwd?-I?lamp Locking?password?for?user?lamp. passwd:Successg #用"-S"選項査看狀態(tài),很清楚地提示密碼已被鎖定 [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 用戶后,此用戶就不能登錄系統(tǒng)了。那么,怎么解鎖呢?也一樣簡單,使用如下命令即可:
#解鎖?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.) #可以看到,鎖定狀態(tài)消失 [root@localhost?~]#?grep?"lamp"?/etc/shadow lamp:?$6$ZTq7cV9o?$lj07iZ0bzW.D1zBa9CsY43d04onskUCzjwiFMNt8PX4GXJoHX9zA1S?C9.iYz?h9LZA4fEM2lg92hM9w/p6NS50.:15711:0:99999:7::: #密碼前面的?"!!"?刪除了
相關(guān)推薦:《Linux視頻教程》