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

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

在这里插入图片描述

@[toc]

前言

前言🚀🚀🚀
想要学好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该密码

[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.1

mufeng@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 命令用于密码实效管理,可以显示用户密码的详细信息 ,还可以用来修改帐号和密码的有效期限。

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

![请添加图片描述](https://ucc.alicdn.com/images/user-upload-01/b386bfb4bdc5410382ad2f6b6f845fe2.gif#pic_center)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/88e62e1e681f499ebcbb7669d24aa603.png)
相关文章
|
21天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
50 14
Linux 10 个“who”命令示例
|
10天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
89 20
|
11天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
35 7
|
1月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
34 9
|
29天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
Linux Shell Unix
带你读《Linux实战》之一:欢迎使用Linux
你正在期望学习管理Linux计算机吗?这是一个很好的选择。虽然Linux常常驻留于消费者的桌面计算机上,但它同时也是服务器领域的绝对主宰,特别是虚拟服务器和云服务器。如果你打算管理当前引人关注的服务器和网络体系架构,你将不得不围绕Linux的命令行展开学习。除了第1章之外,本书的每一章都包括一个或两个实际项目。鉴于第1章的内容主要用来填补你的Linux知识体系中可能存在的基础知识空白,因此其组织形式与其他章节有所不同。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
110 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
407 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
91 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
80 2