基本密码更改命令
1、passwd简要说明;
因为学习了添加用户的方法,所以也学习了设置和更改用户密码; passwd命令的使用方法也很多,所以只选择以下几个参数进行说明; 详情请参阅man passwd或passwd --help;
复制代码就是:
passwd [OPTION.]
passwd既可以作为普通用户运行,也可以作为超级权限用户运行,但作为普通用户,只能更改自己的用户密码。 但是,前提是未被root用户锁定。 如果root用户正在运行passwd,则可以设置或更改任何用户的密码。
如果passwd命令后跟参数或用户名,则表示更改当前用户的密码。 请看下面的例子;
复制代码就是:
[root@localhost ~]# passwd注意:没有添加任何用户。 root用户执行的passwd表示要更改root用户的密码。 也有提示;
更改密码for user root。
new UNIX密码:注:请输入新密码;
Retype new UNIX password:注:验证新密码;
passwd : allauthenticationtokensupdatedsuccessfully .注意:已成功更改根密码;
如果普通用户运行的是passwd,则只能更改自己的密码
请注意,在创建新用户后,如果要为新用户创建密码,请使用passwd用户名以超级用户权限创建。
复制代码就是:
[root@localhost ~]# passwd欢呼声草丛注:更改或创建欢呼声草丛用户的密码;
Changing password for user欢呼的草丛。
new UNIX密码:注:请输入新密码;
retype new UNIX密码:注:重新输入;
passwd : allauthenticationtokensupdatedsuccessfully .注:成功;
普通用户如果想更改自己的密码,直接运行passwd即可; 例如,现在操作的用户是欢呼声的草丛;
复制代码就是:
[欢呼声草丛@localhost ~]$ passwd
Changing password for user欢呼的草丛。 注:更改欢呼草丛用户密码;
(current ) UNIX password:注:请输入当前密码;
new UNIX密码:注:请输入新密码;
retype new UNIX密码:注:确认新密码;
passwd : allauthenticationtokensupdatedsuccessfully .注:更改成功;
2、passwd的一些比较重要的参数;
复制代码就是:
[root@localhost欢呼声草丛]# passwd --help
Usage: passwd [OPTION.]
-k,--keep-tokenskeepnon-expiredauthenticationtokens
注:即将到期的用户即使过期也可以使用
-d,--deletedeletethepasswordforthenamedaccount (只读)
注:删除用户密码后,只能通过root权限进行操作。
-l,--locklockthenamedaccount (只读) )。
注:锁定的用户没有更改密码的权限,只能通过root权限操作
-u,--unlockunlockthenamedaccount (只读) )。
注:解锁;
-f,--Force operation
注:强制操作; 只有root权限可以操作;
-x,--maximum=daysmaximumpasswordlifetime (只读)注:两次密码修改的最大天数,然后是数字; 只能操作root权限;
-n,--minimum=daysminimumpasswordlifetime (root only )注:两次更改密码的最小天数,后跟数字,只能操作root权限。
-w,--warning=daysnumberofdayswarningusersreceivesbefore注:几天后提醒用户更改密码; 只能操作root权限;
密码版本(只读)。
-i,--ina
ctive=DAYS number of days after password expiration when an 注:在密码过期后多少天,用户被禁掉,仅能以root操作;account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;
only)
--stdin read new tokens from stdin (root only)
比如我们让某个用户不能修改密码,可以用-l 参数来锁定:
复制代码代码如下:
[root@localhost ~]# passwd -l 欢呼的草丛注:锁定用户欢呼的草丛不能更改密码;
Locking password for user 欢呼的草丛.
passwd: Success 注:锁定成功;
[欢呼的草丛@localhost ~]# su 欢呼的草丛 注:通过su切换到欢呼的草丛用户;
[欢呼的草丛@localhost ~]$ passwd 注:欢呼的草丛来更改密码;
Changing password for user 欢呼的草丛.
Changing password for 欢呼的草丛
(current) UNIX password: 注:输入欢呼的草丛的当前密码;
passwd: Authentication token manipulation error 注:失败,不能更改密码;
再来一例:
复制代码代码如下:
[root@localhost ~]# passwd -d 欢呼的草丛注:清除欢呼的草丛用户密码;
Removing password for user 欢呼的草丛.
passwd: Success 注:清除成功;
复制代码代码如下:
[root@localhost ~]# passwd -S 欢呼的草丛注:查询欢呼的草丛用户密码状态;
Empty password. 注:空密码,也就是没有密码;
注意: 当我们清除一个用户的密码时,登录时就无需密码;这一点要加以注意;
3、chage 修改用户密码有效期限的命令;
chage 用语法格式:
chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户
前面已经说的好多了,这个只是一笔带过吧,知道有这个命令就行,自己实践实践再说,大体和psswd有些参数的用法差不多;
密 码时效命令-----chage
格式为:chage []
下面列出了chage命令的选项说明:
-m days: 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。
-d days: 指定从1970年1月1日起,口令被改变的天数。
-I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。
-E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。
-W days: 指定口令过期前要警告用户的天数。
-l: 列出指定用户当前的口令时效信息,以确定帐号何时过期。
例如下面的命令要求用户user1两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户
chage -m 2 -M 30 -W 5 user1
可以使用如下命令查看用户user1当前的口令时效信息:chage -l user1
提示:1)可以使用chage 进入交互模式修改用户的口令时效。
2)修改口令实质上就是修改影子口令文件/etc/shadow中与口令时效相关的字段值。
强制用户在下次登录时修改密码
每个Linux用户都关联这不同的密码相关配置和信息。比如,记录着上次密码更改的日期、最小/最大的修改密码的天数、密码何时过期等等。
一个叫chage的命令行工具可以访问并调整密码过期相关配置。你可以使用这个工具来强制用户在下次登录修改密码、
要查看特定用户的过期信息(比如:xsdkn),运行下面的命令。注意的是除了你自己之外查看其他任何用户的密码信息都需要root权限。
复制代码代码如下:
$ sudo chage -l xsdkn
强制用户修改密码
如果你想要强制用户去修改勤劳的溪流的密码,使用下面的命令。
复制代码代码如下:
$ sudo chage -d0
原本“-d ”参数是用来设置密码的“年龄”(也就是上次修改密码起到1970/1/1起的天数)。因此“-d0”的意思是上次密码修改的时间是1970/1/1,这就让当前的密码过期了,也就强制让他在下次登录的时候修改密码了。
另外一个过期当前密码的方式是用passwd命令。
复制代码代码如下:
$ sudo passwd -e
上面的命令和“chage -d0”作用一样,让当前用户的密码立即过期。
现在检查用户的信息,你会发现:
紧张的小鸽子再次登录时候,你会被要求修改密码。你会在修改前被要求再验证一次当前密码。