顾名思义,passwd命令就是用来修改Linux下系统用户的密码的。如果passwd命令由非root用户执行,它将提示输入当前密码,然后允许为调用该命令的用户设置新密码。当超级用户或根用户执行此命令时,可以在不知道当前密码的情况下重置包括根用户在内的任何用户的密码。当我们运行passwd命令设置用户密码时,加密后的密码字符串保存在/etc/shadow文件中。基本语法如下:#passwd{options}{user_name}命令选项如下:(1)修改系统用户的密码非root用户登录时,执行passwd命令,会重置登录用户的密码。[linuxtechi@linuxworld~]$passwd正在更改用户linuxtechi的密码。更改linuxtechi的密码。(当前)UNIX密码:新密码:重新输入新密码:passwd:所有身份验证令牌已成功更新。[linuxtechi@linuxworld~]$使用root用户时当您登录并运行passwd命令时,它会重置root用户的密码,如果在passwd命令后指定了用户名,它会更改该用户的密码。[root@linuxworld~]#passwd[root@linuxworld~]#passwdlinuxtech注:普通用户也可以修改root和用户密码,前提是用户有sudo权限。假设sysops是sudo特权用户,要修改其他用户和root用户的密码,在passwd命令前输入sudo,例如:$sudopasswordroot//thiswillchangetherootpassword$sudopasswordlinuxtechi//this将更改linuxtechi的密码(2)显示用户状态信息要显示用户状态信息,请使用-s选项。用户状态信息包括七个字段,如下:[root@linuxworld~]#passwd-SlinuxtechilinuxtechiPS2015-09-200999997-1(Passwordset,SHA512crypt.)[root@linuxworld~]#在上面输出,第一个字段显示用户名,第二个字段显示密码状态(PS=PasswordSet,LK=Passwordlocked,NP=NoPassword),第三个字段显示密码更改时间,最后第四个字段显示密码的最短、最长、警告和不活动期限。(3)显示所有用户信息在passwd命令中使用-aS选项显示所有用户信息,例如:root@localhost:~#passwd-Sa(4)删除用户密码通过passwd命令删除用户密码,请使用-d选项,例如:[root@linuxworld~]#passwd-dlinuxtechiRemovingpasswordforuserlinuxtechi.passwd:Success[root@linuxworld~]#[root@linuxworld~]#passwd-SlinuxtechilinuxtechiNP2015-09-200999997-1(Emptypassword.)[root@linuxworld~]#所以我们可以说-d选项将使用户的密码为空并禁用该帐户。(5)设置用户密码立即过期在passwd命令中使用-e选项可以使用户密码立即过期,强制用户下次登录时更改密码。[root@linuxworld~]#passwd-elinuxtechi用户linuxtechi.passwd的密码过期:成功[root@linuxworld~]#passwd-SlinuxtechilinuxtechiPS1970-01-010999997-1(密码集,SHA512密码。)[root@linuxworld~]#现在尝试使用linuxtechi用户ssh远程登录(6)Lockuserpassword-l选项用于锁定用户的密码,当用户被锁定时,用户不能更改其密码。[root@linuxworld~]#passwd-llinuxtechiLockingpasswordforuserlinuxtechi.passwd:Success[root@linuxworld~]#passwd-SlinuxtechilinuxtechiLK2015-09-200999997-1(密码已锁定。)[root@linuxworld~]#(7)解锁用户密码-u选项用于解锁用户密码,例如:[root@linuxworld~]#passwd-ulinuxtechiUnlockingpasswordforuserlinuxtechi.passwd:Success[root@linuxworld~]#(8)设置密码过期后的闲置天数-i选项用于设置帐户过期后的闲置天数。当一个用户的密码过期,并且用户在n天内没有修改密码,那么这个用户将无法登录,他的账户将被禁用。[root@linuxworld~]#passwd-i10linuxtechiAdjustingagingdataforuserlinuxtechi.passwd:Success[root@linuxworld~]#[root@linuxworld~]#passwd-SlinuxtechilinuxtechiPS2015-09-20099999710(Passwordset,SHA512crypt.)[root@linuxworld~]#(9)设置修改用户密码的最小天数。可以在passwd命令中使用-n命令强制系统用户在n天内修改密码。在下面的示例中,linuxtechi用户必须在90天内更改密码,值为0表示用户可以随时更改密码。[root@linuxworld~]#passwd-n90linuxtechiAdjustingagingdataforuserlinuxtechi.passwd:Success[root@linuxworld~]#passwd-SlinuxtechilinuxtechiPS2015-09-209099999710(密码设置,SHA512crypt.)[root@linuxworld~]#(10)设置用户密码过期警告天数可以在passwd命令中使用-w选项为用户设置密码过期警告天数。假设我们要为用户linuxtechi设置12个密码过期前的警告天数。示例如下:[root@linuxworld~]#passwd-w12linuxtechiAdjustingagingdataforuserlinuxtechi.passwd:Success[root@linuxworld~]#passwd-SlinuxtechilinuxtechiPS2015-09-2090999991210(密码set,SHA512crypt.)[root@linuxworld~]#以上就是本文的全部内容。如有任何疑问,欢迎在下方评论区留言。我的开源项目课程-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-cloud(酷瓜云课堂-github仓库)
