Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > linux修改用户密码

linux如何修改用户密码

作者:耳边私语着

Linux系统管理员经常需要修改用户密码,确保系统安全,两种常用方法是chpasswd和passwd命令,chpasswd允许批量修改密码,但存在安全风险,因为密码以明文出现在命令历史中,建议操作后清除相关命令记录,passwd命令更安全,可为任何用户设置密码

一、概述

linux修改用户命名有两种方式

二、非交互式

chpasswd修改用户密码

格式:# echo 用户名:密码 | chpasswd

echo "www:123465" | chpasswd

使用history查看刚才修改用户密码命令进行删除处理 

history  |  grep  chpasswd

删除指定历史命令

history  -d   行号

为什么要删除修改密码的命令了  是因为  chpasswd是明文修改密码 ,如果不删除 其他用户使用root权限时就可以查看历史记录从而找到用户密码

三、交互式

使用passwd交互式修改密码,但是有一点要注意,在交互式修改密码的过程中

passwd命令详解

[root@node2 data01]# passwd --help
用法: passwd [选项...] <帐号名称>
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)

四、实战演练

1、修改root和www用户密码

[root@node2 data01]#  passwd  ##修改root用户密码
Changing password for user root..
New password: ##输入新密码
Retype new password:  ##再次确认新密码
passwd: all authentication tokens updated successfully.


[root@node2 data01]# passwd www  ##修改www用户密码
Changing password for user www.
New password:  ##输入新密码
Retype new password:  ##再次确认新密码
passwd: all authentication tokens updated successfully.

2、锁定www用户不让修改密码

[root@node2 data01]## passwd -l www   ## 注:锁定用户www不能更改密码;
Locking password for user www.
passwd: Success  ##注:锁定成功;


[[www@node2 data01]## su - www   ##注:su切换到www用户;
[www@node2 data01]# passwd  ##注:www用户更改密码;
Changing password for user www.
Changing password for www
(current) UNIX password:   ## 注:输入www的当前密码;
passwd: Authentication token manipulation error  ## 注:失败,不能更改密码;

3、清除用户密码

[root@node2 ~]# passwd -d www  #清除www用户密码;
Removing password for user www.
passwd: Success    ##注:清除成功;


[root@node2 ~]# passwd -S www  #查询www用户密码状态;
Empty password.   #空密码,没有密码

五、chage密码实效管理

1、参数详解

[root@node2 data01]# chage --help
用法:chage [选项] 登录

选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays MAX_DAYS 修改密码的最大天数
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”

2、查看用户密码过期时间

语法格式:
chage -l 用户名

[root@node2 data01]# chage -l www
最近一次密码修改时间                   :1月 16, 2024
密码过期时间                           :从不
密码失效时间                           :从不
帐户过期时间                           :从不
两次改变密码之间相距的最小天数          :0
两次改变密码之间相距的最大天数          :99999
在密码过期之前警告的天数                :7
[root@node2 data01]#

3、修改www用户密码过期时间

[root@node2 data01]# chage -M 99999 www -M 密码多少天后过期

4、查看用户信息

[root@node2 data01]# grep www /etc/shadow
www:$6$92t9aGSf$bMQSDnqQRVJqajBotV8GqpsD3T1LMjYP0XNRKmj21vQnMj1A3VDZAfCnhwpYUwG0QzpYopmDlYL6kCaLI/qx//:19738:0:99999:7:::
gitlab-www:!!:19648::::::
[root@node2 data01]#

第一个字段为:用户名;
第二个字段为:加密的密码
第三个字段为:密码最后一次修改的时间     (chage -d)
第四个字段为:密码最小修改间隔时间      (chage -m)
第五个字段为:密码的有效期             (chage -M)
第六个字段为:密码需要变更前的警告天数  (chage -W)
第七个字段为:密码过期后的宽限天数       (chage -I)
第八个字段为:账号失效时间             (chage -E)
第九个字段为:保留

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文