linux修改用户命名有两种方式
1、使用chpasswd通过用户输入'用户名:密码'来更改一组用户的密码,这种为明问修改密码,查看历史命令是可以看到密码的。这种存在一定的安全风险,但是如果你修改密码之后把命令删 除就可以避免这种问题。
2、使用
passwd
命令,用root用户运行passwd
,passwd user_name
可以设置或修改任何用户的密码,普通用户运行passwd
只能修改它自己的密码。
chpasswd修改用户密码
格式:# echo 用户名:密码 | chpasswd
echo "www:123465" | chpasswd
使用history查看刚才修改用户密码命令进行删除处理
history | grep chpasswd
删除指定历史命令
history -d 行号
为什么要删除修改密码的命令了 是因为 chpasswd是明文修改密码 ,如果不删除 其他用户使用root权限时就可以查看历史记录从而找到用户密码
使用passwd交互式修改密码,但是有一点要注意,在交互式修改密码的过程中
1、如果你是手动输入密码,一定要确保输入密码一致,
2、如果你是复制粘贴的密码一定要注意你复制的密码是不是你自己想要设置的密码,最后自己发给自己看下,是不是自己想要的密码。
[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 从标准输入读取令牌(只有根用户才能进行此操作)
[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.
[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 ## 注:失败,不能更改密码;
[root@node2 ~]# passwd -d www #清除www用户密码;
Removing password for user www.
passwd: Success ##注:清除成功;
[root@node2 ~]# passwd -S www #查询www用户密码状态;
Empty password. #空密码,没有密码
[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 警告天数 将过期警告天数设为“警告天数”
语法格式:
chage -l 用户名
[root@node2 data01]# chage -l www
最近一次密码修改时间 :1月 16, 2024
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
[root@node2 data01]#
[root@node2 data01]# chage -M 99999 www -M 密码多少天后过期
[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)
第九个字段为:保留