Linux系统下修改用户密码全攻略

网络知识 2023-02-09 13:14www.1681989.comseo网站推广

基本的修改密码命令
1、passwd 简单说明;

我们已经学会如何添加用户了,所以我们还要学习设置或修改用户的密码;passwd命令的用法也很多,我们只选如下的几个参数加以说明;想了解更多,请参考man passwd或passwd --help ;


复制代码

代码如下:

passwd [OPTION...]

passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码;

passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;请看下面的例子;
 
复制代码

代码如下:
[root@localhost ~]# passwd   注没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;
Changg password for user root.
New UNIX password: 注请输入新密码;
Retype new UNIX password: 注验证新密码;
passwd: all authentication tokens updated suessfully. 注修改root密码成功;

如果是普通用户执行passwd 只能修改自己的密码;

如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;

复制代码代码如下:
[root@localhost ~]# passwd bean 注更改或创建bean用户的密码;
Changg password for user bean.
New UNIX password: 注请输入新密码;
Retype new UNIX password: 注再输入一次;
passwd: all authentication tokens updated suessfully. 注成功;

普通用户如果想更改自己的密码,直接运行passwd即可;比如当前操作的用户是bean;

复制代码代码如下:
[bean@localhost ~]$ passwd
Changg password for user bean. 注更改bean用户的密码;
(current) UNIX password: 注请输入当前密码;
New UNIX password: 注请输入新密码;
Retype new UNIX password: 注确认新密码;
passwd: all authentication tokens updated suessfully. 注更改成功;


2、passwd 几个比较重要的参数;

复制代码代码如下:
[root@localhost bean]# passwd --help
Usage: passwd [OPTION...] <aountName>
-k, --keep-tokens       keep non-expired authentication tokens
注保留即将过期的用户在期满后能仍能使用;
-d, --delete            delete the password for the named aount (root only)
注删除用户密码,仅能以root权限操作;
-l, --lock              lock the named aount (root only)
注锁住用户无权更改其密码,仅能通过root权限操作;
-u, --unlock            unlock the named aount (root only)
注解除锁定;
-f, --force             force operation
注强制操作;仅root权限才能操作;
-x, --maximum=DAYS      maximum password lifetime (root only) 注两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n, --mimum=DAYS      mimum password lifetime (root only) 注两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w, --warng=DAYS      number of days warng users receives before 注在距多少天提醒用户修改密码;仅能root权限操作;
password expiration (root only)
-i, --active=DAYS     number of days after password expiration when an 注在密码过期后多少天,用户被禁掉,仅能以root操作;
aount bees disabled (root only)
-S, --status            report password status on the named aount (root   注查询用户的密码状态,仅能root用户操作;
only)
--std                 read new tokens from std (root only)

比如我们让某个用户不能修改密码,可以用-l 参数来锁定

复制代码代码如下:
[root@localhost ~]# passwd -l bean注锁定用户bean不能更改密码;
Lockg password for user bean.
passwd: Suess           注锁定成功;
[bean@localhost ~]# su bean 注通过su切换到bean用户;
[bean@localhost ~]$ passwd 注bean来更改密码;
Changg password for user bean.
Changg password for bean
(current) UNIX password: 注输入bean的当前密码;
passwd: Authentication token manipulation error 注失败,不能更改密码;


再来一例

复制代码代码如下:
[root@localhost ~]# passwd -d bean 注清除bean用户密码;
Removg password for user bean.
passwd: Suess                        注清除成功;

复制代码代码如下:[root@localhost ~]# passwd -S bean 注查询bean用户密码状态;
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中与口令时效相关的字段值。

强制用户在下次登录时修改密码

每个Lux用户都关联这不同的密码相关配置和信息。比如,记录着上次密码更改的日期、最小/最大的修改密码的天数、密码何时过期等等。

一个叫chage的命令行工具可以访问并调整密码过期相关配置。你可以使用这个工具来强制用户在下次登录修改密码、

要查看特定用户的过期信息(比如alice),运行下面的命令。注意的是除了你自己之外查看其他任何用户的密码信息都需要root权限。

复制代码代码如下:
$ sudo chage -l alice

强制用户修改密码
如果你想要强制用户去修改他/她的密码,使用下面的命令。

复制代码代码如下:
$ sudo chage -d0 <user-name>

原本“-d ”参数是用来设置密码的“年龄”(也就是上次修改密码起到1970/1/1起的天数)。“-d0”的意思是上次密码修改的时间是1970/1/1,这就让当前的密码过期了,也就强制让他在下次登录的时候修改密码了。

一个过期当前密码的方式是用passwd命令。

复制代码代码如下:
$ sudo passwd -e <user-name>

上面的命令和“chage -d0”作用一样,让当前用户的密码立即过期。

现在检查用户的信息,你会发现

当你登录时候,你会被要求修改密码。你会在修改前被要求再验证一次当前密码。

上一篇:Linux系统下将txt转换为mobi格式电子书的方法 下一篇:Linux内核模块编写详解

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by