linux修改当前用户的密码,Linux系统下修改用户密码全攻略

linux修改当前用户的密码,Linux系统下修改用户密码全攻略基本的修改密码命令 1 passwd 简单说明 我们已经学会如何添加用户了 所以我们还要学习设置或修改用户的密码 passwd 命令的用法也很多 我们只选如下的几个参数加以说明 想了解更多 请参考 manpasswd 或 passwdhelp 复制代码代码如下 passwd OPTION passwd 作为普通用户和超级权限用户都可以运行 但作为普通用户只能更改自己的用户密码 但前提是没有

基本的修改密码命令

1、passwd 简单说明;

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

复制代码代码如下:

passwd [OPTION…]

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

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

复制代码代码如下:

[root@localhost ~]# passwd  注:没有加任何用户,我是用root用户来执行的passwd 表示修改root用户的密码;下面也有提示;

Changing password for user root.

New UNIX password: 注:请输入新密码;

Retype new UNIX password: 注:验证新密码;

passwd: all authentication tokens updated successfully. 注:修改root密码成功;

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

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

复制代码代码如下:

[root@localhost ~]# passwd beinan注:更改或创建beinan用户的密码;

Changing password for user beinan.

New UNIX password: 注:请输入新密码;

Retype new UNIX password: 注:再输入一次;

passwd: all authentication tokens updated successfully. 注:成功;

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

复制代码代码如下:

[beinan@localhost ~]$ passwd

Changing password for user beinan. 注:更改beinan用户的密码;

(current) UNIX password: 注:请输入当前密码;

New UNIX password: 注:请输入新密码;

Retype new UNIX password: 注:确认新密码;

passwd: all authentication tokens updated successfully. 注:更改成功;

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

复制代码代码如下:

[root@localhost beinan]# passwd –help

Usage: passwd [OPTION…]

-k, –keep-tokens       keep non-expired authentication tokens

注:保留即将过期的用户在期满后能仍能使用;

-d, –delete            delete the password for the named account (root only)

注:删除用户密码,仅能以root权限操作;

-l, –lock              lock the named account (root only)

注:锁住用户无权更改其密码,仅能通过root权限操作;

-u, –unlock            unlock the named account (root only)

注:解除锁定;

-f, –force             force operation

注:强制操作;仅root权限才能操作;

-x, –maximum=DAYS      maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;

-n, –minimum=DAYS      minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;

-w, –warning=DAYS      number of days warning users receives before 注:在距多少天提醒用户修改密码;仅能root权限操作;

password expiration (root only)

-i, –inactive=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 beinan注:锁定用户beinan不能更改密码;

Locking password for user beinan.

passwd: Success           注:锁定成功;

[beinan@localhost ~]# su beinan 注:通过su切换到beinan用户;

[beinan@localhost ~]$ passwd 注:beinan来更改密码;

Changing password for user beinan.

Changing password for beinan

(current) UNIX password: 注:输入beinan的当前密码;

passwd: Authentication token manipulation error 注:失败,不能更改密码;

再来一例:

复制代码代码如下:

[root@localhost ~]# passwd -d beinan注:清除beinan用户密码;

Removing password for user beinan.

passwd: Success                        注:清除成功;

复制代码代码如下:

[root@localhost ~]# passwd -S beinan注:查询beinan用户密码状态;

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的命令行工具可以访问并调整密码过期相关配置。你可以使用这个工具来强制用户在下次登录修改密码、

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

复制代码代码如下:

$ sudo chage -l alice

7bac9d95fd2beb1c991bc7e7d3536c20.png

强制用户修改密码

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

复制代码代码如下:

$ sudo chage -d0

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

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

复制代码代码如下:

$ sudo passwd -e

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

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

20c4595e3673e3c3d4c713192e84b9b3.png

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

1d58ae22f61ba4d569ccbbece1359558.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208973.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:20
下一篇 2026年3月19日 上午10:20


相关推荐

  • 透彻掌握Spring整合MyBatis的原理彻底征服面试官,建议收藏

    透彻掌握Spring整合MyBatis的原理彻底征服面试官,建议收藏  在MyBatis篇内容的最后我们来给大家详细介绍下Spring是如何整合MyBatis的。让大家彻底掌握MyBatis的底层设计原理及实现。MyBatis整合Spring原理  把MyBatis集成到Spring里面,是为了进一步简化MyBatis的使用,所以只是对MyBatis做了一些封装,并没有替换MyBatis的核心对象。也就是说:MyBatisjar包中的SqlSessionFactory、SqlSession、MapperProxy这些类都会用到。mybatis-spring.jar里

    2022年5月30日
    40
  • nginx配置访问本地静态资源

    nginx配置访问本地静态资源nginx作为一款高性能的服务器,用途很多,除了可以做后端服务器的代理,负载均衡之外你,还有一个用途就是做静态资源的缓存服务器,比如在前后端分离的项目中,为了加速前端页面的响应速度,我们可以将前端的相关资源,例如html,js,css或者图片等放到nginx指定的目录下,访问的时候只需要通过IP加路径就可以实现高效快速的访问,下面说说如何在windows下使用nginx作为静态资源服务器,1、……

    2022年7月14日
    161
  • source insight3.5激活码_souce insight

    source insight3.5激活码_souce insightSI3US-205035-36448SI3US-466908-65897SI3US-368932-59383SI3US-065458-30661SI3US-759512-70207

    2026年4月15日
    7
  • Linux系统开启IPv6任播(anycast)地址[通俗易懂]

    Linux系统开启IPv6任播(anycast)地址[通俗易懂]这两年真是在linux上各种掏捡,各种零碎。。。无力吐槽了。。。下面简单记录一下开启任播地址我的系统是Debian7.21、开启IPv6转发sudoecho1>/proc/sys/net/ipv6/conf/all/forwarding2、完了系统会自动生成IPv6任播地址cat/proc/net/anycast6此时你在网卡上新配置一个IPv6地址,就会在/proc/net/anycast6下生成一个对应的任播地址。在另一台主机上你可以ping6一下其中一个任.

    2022年5月23日
    57
  • 3 分钟打造AI 智能体,《Manus极简入门》让你一键开启高效生活工作模式!

    3 分钟打造AI 智能体,《Manus极简入门》让你一键开启高效生活工作模式!

    2026年3月15日
    3
  • StringBuilder的常用方法

    StringBuilder的常用方法在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过"+"符号来实现,但是这种方式达到目的的效率比较低,且每执行一次都会创建一个String对象,即耗时,又浪费空

    2022年7月1日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号