基本的更改密码命令
1、passwd简单说明;
我们早已学会怎样添加用户了,所以我们还要学习设置或更改用户的密码;passwd命令的用法也好多,我们只选如下的几个参数加以说明;想了解更多,请参考manpasswd或passwd--help;
passwd [OPTION...]
passwd作为普通用户和超级权限用户都可以运行linux 修改用户密码,但作为普通用户只能修改自己的用户密码,但前提是没有被root用户锁定;假如root用户运行passwd,可以设置或更改任何用户的密码;
passwd命令前面不接任何参数或用户名,则表示更改当前用户的密码;请看下边的事例;
[root@localhost ~]# passwd
注:没有加任何用户,我是用root用户来执行的passwd表示更改root用户的密码;下边也有提示;
Changingpasswordforuserroot.
NewUNIXpassword:注:请输入新密码;
RetypenewUNIXpassword:注:验证新密码;
passwd:allauthenticationtokensupdatedsuccessfully.注:更改root密码成功;
若果是普通用户执行passwd只能更改自己的密码;
假如新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建;
[root@localhost ~]# passwd beinan
注:修改或创建beinan用户的密码;
Changingpasswordforuserbeinan.
NewUNIXpassword:注:请输入新密码;
RetypenewUNIXpassword:注:再输入一次;
passwd:allauthenticationtokensupdatedsuccessfully.注:成功;
普通用户假如想修改自己的密码,直接运行passwd即可;例如当前操作的用户是beinan;
[beinan@localhost ~]$ passwd
Changingpasswordforuserbeinan.注:修改beinan用户的密码;
(current)UNIXpassword:注:请输入当前密码;
NewUNIXpassword:注:请输入新密码;
RetypenewUNIXpassword:注:确认新密码;
passwd:allauthenticationtokensupdatedsuccessfully.注:修改成功;
2、passwd几个比较重要的参数;
[root@localhost beinan]# passwd --help
Usage:passwd[OPTION...]
-k,--keep-tokenskeepnon-expiredauthenticationtokens
注:保留正式过期的用户在届满后能仍能使用;
-d,--deletedeletethepasswordforthenamedaccount(rootonly)
注:删掉用户密码,仅能以root权限操作;
-l,--locklockthenamedaccount(rootonly)
注:锁住用户无权修改其密码,仅能通过root权限操作;
-u,--unlockunlockthenamedaccount(rootonly)
注:解除锁定;
-f,--forceforceoperation
注:强制操作;仅root权限能够操作;
-x,--maximum=DAYSmaximumpasswordlifetime(rootonly)注:两次密码修正的最大天数,前面接数字;仅能root权限操作;
-n,--minimum=DAYSminimumpasswordlifetime(rootonly)注:两次密码更改的最小天数,前面接数字,仅能root权限操作;
-w,--warning=DAYSnumberofdayswarningusersreceivesbefore注:在距多少天提醒用户更改密码;仅能root权限操作;
passwordexpiration(rootonly)
-i,--inactive=DAYSnumberofdaysafterpasswordexpirationwhenan注:在密码过期后多少天,用户被禁掉,仅能以root操作;
accountbecomesdisabled(rootonly)
-S,--statusreportpasswordstatusonthenamedaccount(root注:查询用户的密码状态,仅能root用户操作;
only)
--stdinreadnewtokensfromstdin(rootonly)
例如我们让某个用户不能更改密码,可以用-l参数来锁定:
[root@localhost ~]# passwd -l beinan
注:锁定用户beinan不能修改密码;
Lockingpasswordforuserbeinan.
passwd:Success注:锁定成功;
[beinan@localhost~]#subeinan注:通过su切换到beinan用户;
[beinan@localhost~]$passwd注:beinan来修改密码;
Changingpasswordforuserbeinan.
Changingpasswordforbeinan
(current)UNIXpassword:注:输入beinan的当前密码;
passwd:Authenticationtokenmanipulationerror注:,不能修改密码;
再来一例:
[root@localhost ~]# passwd -d beinan
注:消除beinan用户密码;
Removingpasswordforuserbeinan.
passwd:Success注:消除成功;
[root@localhost ~]# passwd -S beinan
注:查询beinan用户密码状态;
Emptypassword.注:空密码,也就是没有密码;
注意:当我们消除一个用户的密码时,登陆时就无需密码;这一点要加以注意;
3、chage更改用户密码有效时限的命令;
chage用句型格式:
chage[-l][-m最小天数][-M最大天数][-W警告][-I失效日][-E过期日][-d最后日]用户
后面早已说的很多了,这个只是一笔带过吧,晓得有这个命令就行linux 修改用户密码,自己实践实践再说,大体和psswd有些参数的用法差不多;
密码时效命令-----chage
格式为:chage[]
下边列举了chage命令的选项说明:
-mdays:密码可修改的最小天数。为零时代表任何时侯都可以修改密码。
-Mdays:指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数大于当前的日期时,用户在使用该账号前就必须改变口令。
-ddays:指定从1970年1月1日起,口令被改变的天数。
-Idays:指定口令过期后,账号被锁前不活跃的天数。假如值为0,账号在口令过期后就不会被锁。
-Edate:指定账号被锁的日期。日期格式YYYY-MM-DD。若不用日期linux入门,也可以使用自1970年1月1日后经过的天数。
-Wdays:指定口令过期前要警告用户的天数。
-l:列举指定用户当前的口令时效信息,以确定账号何时过期。
比如下边的命令要求用户user1三天内不能更改口令,但是口令最长的存活期为30天,但是口令过期前5天通知用户
chage-m2-M30-W5user1
可以使用如下命令查看用户user1当前的口令时效信息:chage-luser1
提示:1)可以使用chage步入交互模式更改用户的口令时效。
2)更改口令实质上就是更改影子口令文件/etc/shadow中与口令时效相关的数组值。
强制用户在上次登陆时更改密码
每位Linux用户都关联这不同的密码相关配置和信息。例如中文linux操作系统,记录着先前密码修改的日期、最小/最大的更改密码的天数、密码何时过期等等。
一个叫chage的命令行工具可以访问并调整密码过期相关配置。你可以使用这个工具来强制用户在上次登陆更改密码、
要查看特定用户的过期信息(例如:alice),运行下边的命令。注意的是不仅你自己之外查看其他任何用户的密码信息都须要root权限。
$ sudo chage -l alice
强制用户更改密码
假如你想要强制用户去更改他/她的密码,使用下边的命令。
$ sudo chage -d0
起初“-d”参数是拿来设置密码的“年龄”(也就是先前更改密码起到1970/1/1起的天数)。为此“-d0”的意思是先前密码更改的时间是1970/1/1,这就让当前的密码过期了,也就强制让他在上次登陆的时侯更改密码了。
另外一个过期当前密码的方法是用passwd命令。
$ sudo passwd -e
里面的命令和“chage-d0”作用一样,让当前用户的密码立刻过期。
如今检测用户的信息,你会发觉:
当你再度登陆时侯,你会被要求更改密码。你会在更改前被要求再验证一次当前密码。