Linux基础知识之管理用户密码

news2024/12/25 15:02:00

往期系列内容回顾:

Linux基础知识之Shell命令行及终端中的快捷键 

Linux基础知识之man手册页_man 手册页-CSDN博客

Linux基础知识之Linux文件系统权限-CSDN博客

Linux基础知识之使用 Shell 扩展匹配文件名-CSDN博客

  1. shadow 密码和密码策略

用户密码是Linux用户登录的传统凭据之一. 以前密码保存在 /etc/passwd 文件,所有用户皆可读,之后将密码保存到只有 root 可读的 /etc/shadow 文件中,文件格式如下:

[student@workstation ~]$ sudo grep student /etc/shadow
student:$6$mMzsPCHs9fkLFF4E$0ZH52HA8QGcAoYspzaXOyooRxCPTj7ct90Pfgl4XkYDkrOgEWVFAPi.tDZj51DAN8NoLuBkc3Bj3MaxJWqrcV0:19860:0:99999:7:::

这段 shadow 密码的格式是 Linux 系统中存储密码的方式之一。它表示用户"student"的密码信息。 这个 shadow 中包含的字段分别为:

  1. 密码的验证

用户登录时,使用 salt 组合用户 password,然后进行哈希加密,之后与 shadow 对应用户的散列值比对,一致则密码验证通过。

  1. 配置密码生命周期

chage (change age)命令用以修改密码生命周期[MISSING IMAGE: ,  ]

  • 示例一:
useradd sysadmin05
chage -l sysadmin05
chage -m 0 -M 90 -W 7 -I 14 sysadmin05
chage -l sysadmin05
# -m:最小生命周期
# -M:最大生命周期
# -W:警告周期
# -l:宽限周期

  • 示例二:假设您在红帽服务器上管理用户密码策略。

cloudadmin10 用户是系统中的新用户,您要设置自定义密码期限策略。您希望账户到期时间设置即日起 30 天,可以使用以下命令:

[root@workstation ~]# useradd cloudadmin10
[root@workstation ~]# chage -l cloudadmin10
[root@workstation ~]# date +%F
[root@workstation ~]# date -d "+30 days" +%F
[root@workstation ~]# chage -E $(date -d "+30 days" +%F) cloudadmin10
[root@workstation ~]# chage -l cloudadmin10 | grep "Account expires"


 

  • 其他例子:
chage -d 0 username # 要求 username 用户下次登录必须修改密码
chage -l username # 显示 username 用户密码生命周期详情
chage -E 2024-11-01 username # 定义密码过期时间


 

  • 另外也可以在 /etc/login.defs 中定义用户密码生命周期,修改此文件不会影响旧的用户,只会影响更改后的新用户。

选项

作用

PASS_MAX_DAYS

密码最大生命周期

PASS_MIN_DAYS

密码最小生命周期

PASS_WARN_AGE

密码警告周期

PASS_MIN_LEN

密码最小长度

更多关于用户的配置可以查看 man 手册 login.defs(5)

man 5 login.defs

  1. 非登录 shell

当有效的用户的账户不需要登录系统,可以将其登录 shell 设置为 nologin shell。例如系统服务账号,并不需要登录操作系统示例:

[root@workstation ~]# usermod -s /sbin/nologin newapp
[root@workstation ~]# su - newapp

值得一提的是,nologin 可以防止以交互式使用系统,但不会阻止所有访问。如果用户使用用户密码进行身份验证,他们有时可以通过身份验证,并使用Web 应用、文件传输程序或邮件读取程序等应用上传或检索文件。

  1. 限制登录

  • 使用 usermod -L 可以锁定用户, usermod -U 解锁用户
  • 如果用户在特定日期从公司离职,您可以通过一个 usermod 命令锁定账户并使其过期。该日期必须是距离 1970-01-01 的天数,或者使用 YYYY-MM-DD 格式。
 [root@workstation ~]# usermod -L -e 0 student
 [root@workstation ~]# ssh student@localhost
Your account has expired; please contact your system administrator.
Connection closed by ::1 port 22
 [root@workstation ~]# chage -l student
Last password change : May 17, 2024
Password expires : never
Password inactive : neverAccount expires : Jan 01, 1970
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

— Linux文章推荐 —

【资料领取】200个Linux常用命令手册

《鸟哥Linux私房菜》全新完整中文版PDF

40 个简单又有效的 Linux Shell 脚本示例

linux运维必备,100道常见面试题

超强linux学习笔记,值得一看(附PDF下载)

红帽认证有什么优势?速看本文

5 种 Linux 安装包管理工具中文手册!抓紧看!

END

公众号:厦门微思网络

始于2002年,专业IT认证培训22年,面向全国招生!

微思-主要课程有:

*网络技术:华为HCIA/ HCIP/HCIE;思科CCNA/CCNP/CCIE

*Linux技术:红帽 RHCE/RHCA

*K8S&容器:CKA/CKS

*数据库:ORACLE OCP/ OCM ;MySQL ;达梦数据库

*虚拟化:VMware VCP/VCAP

*安全认证:CISP体系/CISSP/ CISA;CCSK;CISAW体系

*管理类:PMP 项目管理;软考中/高项;ITIL体系;Togaf

其他课程如:ACP;Azure...
———————————————

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1991123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件目录。

1、转换函数fileno和fdopen 一、文件目录 打开目录:opendir 读取目录:readdir:返回值是info(目录中的一项内容),type表示类型是目录。 关闭目录:closedir 输出的是所有文件,包括隐…

[工具]-gitee+pycharm-配置

安装git ​ 查看git是否安装设置成功: ​ git config user.name ​ git config user.email ​ 码云账号设置邮箱 pycharm设置gitee 打开 PyCharm,在 Settings - Plugins 里面,搜索 Gitee 插件,安装后重启 PyCharm。 pychar…

Java设计模式(原型模式)

定义 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 角色 Prototype(抽象原型角色) ConcretePrototype(具体原型角色) Client(客户端角色 优点 简化对象的创建过程&#xff0c…

Java网络编程、TCP、UDP、Socket通信---初识版

标题 InetAddress----IP地址端口号协议(UDP/TCP)JAVA操作-UDP一发一收模式多发多收 JAVA操作-TCP一发一收多发多收 实现群聊功能BS架构线程池优化 InetAddress----IP地址 端口号 协议(UDP/TCP) JAVA操作-UDP 一发一收模式 多发多收…

用Java手写jvm之模拟数组相关操作

写在前面 本文看下如何模拟数组相关的操作,主要是实现数组相关的指令,关于数组相关的指令可以参考这篇文章。 1:正文 简单起见这里我们仅仅实现int基础数据类型的一维数组。 newarray指令对应的类 package com.dahuyou.tryy.too.simulat…

猫咪不爱喝水又挑食,终于找到适合的补水罐

我已经被她搞疯掉了,养了快两年,特别不爱喝水。喂的是干粮,干粮本身就水少,加上她不爱喝水,我都怀疑它一天有没喝够20ml没有,太可怕了,只能拿针管喂。我看过很多科普,换过每天勤换水,水碗离猫粮很远,水碗不会太小不存在…

2025年第六届教育和信息技术进展国际会议(AEIT 2025)将在日本福冈召开!

2025 第六届教育和信息技术进展国际会议将于 2025 年 1 月 10-12 日在日本福冈举行,AEIT2025旨在为全世界的科学家、研究人员、工程师和工业从业人员提供一个良好的论坛,展示和讨论教育技术领域的最新技术进展以及未来的发展方向和趋势。 会议官网&#…

【HarmonyOS NEXT星河版开发学习】小型测试案例08-人气卡片

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面(暂未发布) 前言 鸿蒙开发中的绝对定位和层级是关键的布局和设计概念,它们通过特定的属性和方式决定了组件在界面上的位置和层叠顺序。 知识…

Fast Planner规划算法(三)—— Fast Planner后端之轨迹优化与轨迹优化与时间重分配

本系列文章用于学习记录Fast-Planner规划算法的相关内容,主要学习资料是深蓝学院的移动机器人运动规划课程 三、Fast Planner后端之轨迹优化 在上一篇文章中,我们给出了 Fast Planner中的B样条曲线的表达式,在给定时间区间后,唯一…

【从零开始一步步学习VSOA开发】订阅发布变速器

订阅发布变速器 概念 在许多场景中,我们需要控制发布频率。例如,一个 UI 界面不能过快的接收处理信息,而此时发布者的发布频率又非常快。在这种场景下,我们需要改变发布的频率。 使用 VSOA Regulator 可以解决这个问题&#xff…

Kafka + Kraft 集群搭建教程,附详细配置及自动化安装脚本

本文主要介绍 kafka kraft 搭建过程,主要用途是为了日志采集,所以搭建相对比较简单暴力,不过也可以作为一个参考供大家学习,主打一个能用管跑(调优啊,参数解释啊,原理啊,太枯燥了&a…

其实PMP考试真的不需要焦虑

在考PMP之前,觉得报名费好贵很可怕,很怕自己考不过然后3900打水漂~然后我自己慢慢悠悠跟着老师安排来,2个月就上岸啦~担心真的是多余的! 问了一下培训班的小伙伴,好像都过了。听说PMP在国内的通过率高达90%不知道真假…

高频焊机电源模型建立及谐波分析

1、仿真建模工具 本文的仿真建模工具软件采用MATLAB7.0,即目前工程领域最为流行的软件。MATLAB把计算、可视化、程序设计融入到了一个交互的工作环境中,已经成为电力系统仿真、自动控制理论、数字信号处理、图像处理等领域的常用工具软件。MATLAB中的SIM…

解锁数据“智能”背后的秘密

在这个被数据洪流包围的时代,每一秒都有无数的信息在生成、传递、分析。但你是否曾好奇,这些数据是如何从简单的数字、文字转化为推动社会进步、改变生活方式的“智能”力量的?今天,就让我们一起揭开数据“智能”背后的神秘面纱&a…

在Excel中启用宏 (~ ̄▽ ̄)~

一、启用宏 打开任意Excel,点击屏幕左上角的文件选项,然后选择Excel选项窗口。在Excel选项窗口中,选择信任中心按钮;在信任中心设置窗口中,选择宏设置,启用所有宏(不推荐,潜在风险&a…

鸿蒙OS开发使用Canvas组件绘制天气曲线图

参考下文: 鸿蒙征文 | 使用Canvas组件绘制天气曲线图_harmonyos_鸑鷟407-HarmonyOS开发者社区效果图: 原理 使用贝塞尔曲线 首先可以了解一下贝塞尔曲线。 如果看不懂也没关系,这里会直接讲绘制曲线的步骤。 使用CanvasRenderingContext2D对象…

VS code初学笔记

一、调试 1.1添加查看全部数组元素 监视->*(type(*)[number])begin 其中type表示类型int、char等。number表示要查看的数量。begin是起始地址指针,即数组名。

github使用gh-pages部署vue静态网站(简单易懂)

github使用gh-pages部署vue静态网站 当我们想把自己的网站部署到一个静态网站上,Github Pages是一个很好的选择(稳定、可靠、不花钱) 假设你已经有一个项目并且已经发布到github上了,先把项目git clone到本地 ,接着在…

第二季度云计算市场份额榜单:微软下滑,谷歌上升,AWS仍保持领先

2024 年第二季度,随着企业云支出达到 790 亿美元的新高,三大云计算巨头微软、谷歌云和 AWS的全球云市场份额发生了变化。 根据新的市场数据,以下是 2024 年第二季度全球云市场份额结果和六大世界领先者,其中包括 AWS、阿里巴巴、…

条形码与二维码报表

概述 条形码与二维码:演示条形码与二维码,条形码数据将来自于关联的字段值。支持各种常用的条形码与二维码。 应用场景 如下图所示,简单展示数据 示例说明 数据准备 在数据面板中添加数据集,可选择Json数据集和API服务数据…