当前位置: 首页 > news >正文

【Linux实践室】Linux用户管理实战指南:用户密码管理操作详解

在这里插入图片描述
🌈个人主页:聆风吟_
🔥系列专栏:Linux实践室、网络奇遇记
🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 一. ⛳️任务描述
  • 二. ⛳️相关知识
    • 2.1 🔔用户密码存放地及方式
    • 2.2 🔔使用passwd命令修改用户密码
      • 2.2.1 知识点讲解
      • 2.2.2 案例演示
    • 2.3 🔔使用chpasswd命令修改用户密码
      • 2.3.1 知识点讲解
      • 2.3.2 案例演示
  • 三. ⛳️编程要求
  • 四. ⛳️编程解答
  • 📝全文总结

一. ⛳️任务描述

恭喜你已经完成了前面的内容,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,接下来,我们一起学习为新创建的用户设置登录密码。

本关的任务是新创建一个用户,并设置登录密码。



二. ⛳️相关知识

为了完成本节任务,你需要掌握如下知识:

  • Linux中用户登录密码存放地以及方式
  • 怎么使用passwd命令修改用户密码
  • 怎么使用chpasswd命令修改用户密码

2.1 🔔用户密码存放地及方式

Linux中用户的登录密码是存放在/etc/shadow文件中,/etc/shadow文件中存放的是加密过后的密码,所以在/etc/shadow文件中看到的密码是加密过后的密文。

看下笔者的电脑中/etc/shadow文件存放的内容格式。
在这里插入图片描述可以看到第一个冒号前是用户名,用户名是以明文的方式存放。

在第一个冒号和第二个冒号之间存放的是加密过后的密码,密码是以密文的方式存放,其中密文是由用户密码和其它信息加密后组成的,这里不做详细讲解,我们只需要知道如果第一个冒号和第二个冒号之间是*或者!或者空,则表示该用户没有密码,否则,则表示该用户是有密码。

例如:用户名fzm是存在密码,而mysql是不存在密码的。



2.2 🔔使用passwd命令修改用户密码

2.2.1 知识点讲解

命令格式:

passwd [命令参数] 参数

常见命令参数:

参数说明
-d删除密码
-l停止账号使用
-S显示密码信息

passwd必须以root权限才能执行,如果是普通用户想执行passwd时,需要在命令前加sudo命令来提升权限为root权限。

2.2.2 案例演示

1 . 使用useradd命令来新创建一个用户,使用passwd命令来设置登录密码。
在这里插入图片描述使用useradd命令创建一个新用户(test),此时test用户是没有密码的,所以使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用户密码部分为!

使用passwd命令为test用户设置密码时,可以看到需要输入两次密码,目的是为了确保两次输入的密码一致。当设置完密码后,可以看到/etc/shadow文件中test用户的密码部分已经为加密过后的密文。

2 . 使用passwd命令来清除用户的密码。
在这里插入图片描述
使用passwd命令清除用户test的登录密码,使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用户密码部分为空,此时test用户是没有密码的。



2.3 🔔使用chpasswd命令修改用户密码

2.3.1 知识点讲解

chpasswd命令通常是用于批量修改用户密码,从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为用户名:密码

例如要批量更新用户密码,将用户名和密码写入到一个文件中,格式如下所示:
在这里插入图片描述
然后执行执行如下命令来更新密码:
sudo chpasswd < batch.txt
<符号表示输入重定向,接下来的实训中我们会详细的介绍。
命令格式:

chpasswd [命令参数] 参数

常见命令参数:

参数说明
-e输入的密码是加密后的密文
-h显示帮助信息并退出

chpasswd必须以root权限才能执行,如果是普通用户执行时,需要在命令前加sudo命令来提升权限为root权限。


2.3.2 案例演示

1 . 使用chpasswd命令来更新用户登录密码。
在这里插入图片描述
chpasswd是从键盘不断的读入指令,我们可以使用Ctrl+D组合键来结束键盘输入。



三. ⛳️编程要求

本节的任务具体如下:

  • 新创建一个用户newUser;
  • 使用passwd命令为用户newUser设置登录密码;


四. ⛳️编程解答

#!/bin/bash#创建newUser新用户
#***********begin*************#
useradd newUser
#************end**************##在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
passwd newUser << EOF
123
123
EOF
#************end**************#


📝全文总结

本文主要讲解 Linux 的用户密码管理的两个命令:

  • passwd:修改用户密码
  • chpasswd:批量修改用户密码。

     今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!
在这里插入图片描述

http://www.lryc.cn/news/326285.html

相关文章:

  • UE5学习日记——蓝图节点前缀关键字整理
  • 浅析机器学习的常用方法
  • 大数据开发(日志离线分析项目)
  • PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
  • 【若依 SpringBoot 前后端分离版】修改加密传输后密码错误的解决方法(附排错过程)
  • 发送请求- header配置
  • C语言重难知识点
  • jMeter学习
  • Nodejs运行vue项目时,报错:Error: error:0308010C:digital envelope routines::unsupported
  • 华为汽车图谱
  • 鸿蒙操作系统-初识
  • 【ZZULIOJ】1003: 两个整数的四则运算(Java)
  • 聊聊芯片原厂
  • 百人一岗,Android开发者的困境。。。。。
  • 若依分离版 —引入echart连接Springboot后端
  • Halcon深度学习项目实战
  • 子类中的方法去调用父类中的方法有几种形式?原生django如何向响应头写入数据
  • 数据安全治理框架构建
  • 深度学习十大算法之图神经网络(GNN)
  • 【工具类】git log 常用别名,git log 干活,git log常用参数
  • [linux] AttributeError: module ‘transformer_engine‘ has no attribute ‘pytorch‘
  • 前端面试题---->JavaScript
  • spring 的理解
  • 【Java程序设计】【C00384】基于(JavaWeb)Springboot的民航网上订票系统(有论文)
  • 如何查看局域网内所有的ip和对应的mac地址
  • 应用层协议 - HTTP
  • mysql安装及操作
  • 【计算机操作系统】深入探究CPU,PCB和进程工作原理
  • Pillow教程04:学习ImageDraw+Font字体+alpha composite方法,给图片添加文字水印
  • fastjson2 反序列化包含多层泛型结构的实体类