linux基本功系列之chage命令实战

news/2025/3/13 4:08:32/

在这里插入图片描述

文章目录

  • 前言
  • 一. chage命令的介绍
  • 二. 常用案例示范
    • 1. 查看用户密码的有效期
    • 2. 设置密码的过期时间
    • 3. 设置账号的失效时间
  • 总结

前言

前言🚀🚀🚀
想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心,唯有如此,才能打牢基础。
💓 知识最重要的是记忆
💓 入门须知: 想要人生从容,必须全力以赴,努力才是你最终的入场券🚀🚀🚀
💕 最后: 努力成长自己,愿我们都能在看不到的地方闪闪发光 ,一起加油进步🍺🍺🍺

一. chage命令的介绍

作用: chage用于密码的实效管理,用来修改帐号和密码的有效期,可以用来确定用户何时修改密码。

语法格式:chage [参数]

我们可以用chage --help来查看常用的参数。

[root@zmedu-17 day05]# chage --help
用法:chage [选项] 登录选项:-d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”-E, --expiredate 过期日期     将帐户过期时间设为“过期日期” 0表示马上过期,-1表示永不过期-h, --help                    显示此帮助信息并推出-I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态-l, --list                    列出用户以及密码的有效期-m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”-M, --maxdays MAX_DAYS       密码保持有效的最大天数                           -R, --root CHROOT_DIR         chroot 到的目录-W, --warndays 警告天数       密码过期前,提前收到警告信息的天数

除了 --help查看帮助之外,还可以使用:

[root@DB-Server ~]#man chage
[root@DB-Server ~]# info chage
[root@DB-Server ~]# chage -h

时间日期间隔计算 1970-1-1

二. 常用案例示范

1. 查看用户密码的有效期

-l 用来查看密码是否过期
此处的-l是L的小写字母

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

2. 设置密码的过期时间

现在我们有个mengfeng用户,我们来设置mufeng用户60天后密码过期,密码过期的前7天收到警告信息

[root@mufenggrow ~]# chage -M 60 -m7 -W 7 mufeng
[root@mufenggrow ~]# chage -l mufeng
最近一次密码修改时间					:1月 16, 2023
密码过期时间					:3月 17, 2023
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:7
两次改变密码之间相距的最大天数		:60
在密码过期之前警告的天数	:7

可以看到密码过期时间变成了3月17, 两次更改密码的最大间隔天数变成了60天,密码过期前警告时间变成了:7天。

如果你向我一样困惑于,这些参数到底修改的哪里呢,我们可以看下面的代码示例:

[root@mufenggrow ~]# tail -n 1 /etc/shadow
mufeng:!!:19373:7:60:7:::

可以看到mufeng用户在/etc/shadow里是由冒号分隔的几个部分,每个部分代表的意思如下:

这里我们把chage的参数对应的修改字段,直接标注在后面。

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

根据上面的参数,如果我们要设置账号的失效时间该如何设置呢?

3. 设置账号的失效时间

## 创建用户
[root@mufenggrow ~]# useradd mufenggrow
## 给用户设置密码
[root@mufenggrow ~]# echo 123456|passwd --stdin mufenggrow
更改用户 mufenggrow 的密码 。
passwd:所有的身份验证令牌已经成功更新。## 登录测试,查看是否可以登录
[root@mufenggrow ~]# ssh mufenggrow@127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:9uJW2mOqzhYy5gtMsTHmt4V584na0LFqEGYXxA4rUM8.
ECDSA key fingerprint is MD5:42:35:b0:99:2c:04:c5:94:e6:f4:74:6d:af:ec:07:29.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
mufenggrow@127.0.0.1's password: 
[mufenggrow@mufenggrow ~]$ exit
登出
Connection to 127.0.0.1 closed.## 使用-E参数,修改失效时间
[root@mufenggrow ~]# chage  -E 0 mufenggrow再次登录测试,提示已经失效
[root@mufenggrow ~]# ssh mufenggrow@127.0.0.1
mufenggrow@127.0.0.1's password: 
Your account has expired; please contact your system administrator
Authentication failed.

英语句子:

学计算机也是学英语的过程,可以上面代码中出现的这个句子:

Your account has expired; please contact your system administrator
Authentication failed

翻译过来就是: 你的账户已经过期,请联系您的管理元,身份验证失败。

account 美 /əˈkaʊnt/ 账户
expired 美 /iks’paiəd/ 过期失效
contact 美 /ˈkɑːntækt/ 联系
system美 /ˈsɪstəm/ 系统
administrator 美 /ədˈmɪnɪstreɪtər/ 管理
Authentication 美 /ɔ:,θenti’keiʃən/ 认证,鉴定
failed 美 /feld/ 失败


## 3. 设置登陆必须修改密码使用-d参数,设置修改密码的到期时间为0,这样下次登录系统的时候,就需要重新iu该密码
```bash[root@mufenggrow ~]# tail -n1 /etc/passwd 
mufenggrow:x:1001:1001::/home/mufenggrow:/bin/bash
[root@mufenggrow ~]# chage -d 0 mufenggrow
[root@mufenggrow ~]# chage -l mufenggrow
最近一次密码修改时间					:密码必须更改
密码过期时间						:密码必须更改
密码失效时间						:密码必须更改
帐户过期时间						:1月 01, 1970
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数			:7
[root@mufenggrow ~]# 

可以看到,密码的过期时间,失效时间都变成了必须修改,我们登录来测试下。

## 登录用户
[root@mufenggrow ~]# ssh mufeng@127.0.0.1mufeng@127.0.0.1's password: 
You are required to change your password immediately (root enforced)
## 这里开始要求修改密码
更改用户 mufeng 的密码 。
为 mufeng 更改 STRESS 密码。
(当前)UNIX 密码:
新的 密码:

可以看到修改密码后,会自动推出,让我们重新登录,确保安全。

[root@zmedu-17 ~]# chage -M 60 -m 7 -W 7 gaosh3

总结

Linux 中的 chage 命令用于密码实效管理,可以显示用户密码的详细信息 ,还可以用来修改帐号和密码的有效期限。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述


http://www.ppmy.cn/news/13016.html

相关文章

2022年海南省职业院校技能大赛“网络安全”比赛任务书

2022年海南省职业院校技能大赛“网络安全” 比赛任务书 一、竞赛时间 总计:360分钟 二、竞赛任务书内容 (一)拓扑图 (二)A模块基础设施设置/安全加固(350分) 一、项目和任务描述&#xff…

集合框架及背后的数据结构

集合框架及背后的数据结构1. 介绍2. 学习的意义2.1 Java 集合框架的优点及作用2.2 笔试及面试题3. 接口 interfaces3.1 基本关系说明3.2 Collection 接口说明3.3 Collection 常用方法说明3.4 Collection 示例3.5 Map 接口说明Map3.6 Map 常用方法说明3.7 Map 示例4. 实现 class…

【自学Docker 】Docker top命令

Docker top命令 大纲 docker top教程 使用 docker top 命令可以用来查看 Docker 中运行的进程信息。docker top 命令后面的 CONTAINER 可以是容器 ID,或者是容器名。 docker top语法 haicoder(www.haicoder.net)# docker top [OPTIONS] CONTAINER [ps OPTIONS]案…

10款最佳在线地图软件介绍

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 在线地图有无数的用途&…

<Python>使用python来控制windows系统音量

使用python可以对windows系统的音量进行读取或者设置。 平台:visual studio code 语言:python 需要的python模块: 1、pyqt5 2、ctypes: ctypes 是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL …

【SpringCloud13】SpringCloud Config分布式配置中心

1.概述 1.1 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不…

联合变换相关器摄远物镜光学设计

联合变换相关器摄远物镜光学设计 联合变换相关器工作原理 随着科学技术的飞速发展,光学相关探测器件由最初的匹配滤波器发展到今天的联合变换相关器,联合变换相关器与范得耳-卢格特相关器相比,具有灵活性好、识别精度高等特点,所…

4.4 可迭代对象(Iterable)与迭代器(Iterator)

4.4 可迭代对象(Iterable)与迭代器(Iterator) 4.4.1 可迭代(Iterable)对象 如果一个对象实现了__iter__方法,那么这个对象就是可迭代(Iterable)对象>>> #如何知道一个对象实现了那些…