【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.hqwc.cn/news/571238.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows上实现iOS APP自动化测试:tidevice + WDA + airtest!

环境准备 本文使用的环境如下&#xff1a; Python 3.7.6&#xff0c;Python版本需要3.6 tidevice0.4.14 WebDriverAgent airtest1.2.2 iOS 设备&#xff1a;iPhone12 Windows系统版本&#xff1a;Windows 10 家庭中文版 使用USB连接设备&#xff0c;检测tidevice是否安…

vue项目使用eletron将打包成桌面应用(.exe)

vue项目使用eletron将打包成桌面应用(.exe) 1.前期准备 两个项目&#xff1a; 1、自己用vue cli创建的项目 2、第二个是去gitee将案例clone下来 案例地址 https://gitee.com/qingplus/electron-quick-start.git 2、测试案例是否可以正常运行 # 进入项目 cd electron-quick-…

python初级2条件与循环笔记

两个课堂小练习&#xff1a; 1、(计算圆柱体的体积) 编写一个读取圆柱的半径和高并利用公式计算圆柱体底面积和体积的程序 iimport math reval(input("enter the r")) heval(input("enter the h")) arear*r*math.pi print("the area ",area,…

韦东山-数码相框(1)

做工程的步骤 弄清需求设计框架编写代码测试 项目需求 上电&#xff0c;LCD显示一副图片&#xff1b; 然后根据默认配置&#xff0c;决定停留还是自动显示下一副&#xff1b; 点击一下&#xff0c;出现对话框&#xff0c;选择手动显示或者自动显示&#xff1b; 根据手势的…

perf出现SIGBUS的coredump

coredump信息 (gdb) bt full #0 0x000055c37fa62c00 in perf_evsel__parse_sample (evsel0x55c381223b00, event0x7f144843ab30, data0x7ffcbbcf6540) at util/evsel.c:1939 type <optimized out> swapped <optimized out> array <optimized out> ma…

MySQL使用教程:数据库、表操作

目录 1. 免密码登录MySQL1.1 免密码配置1.2 登录选项介绍 2. MySQL基础配置&#xff1a;my.cnf3. 开机自启动设置&#xff08;可选设置&#xff09;4. 查看存储引擎5. 查看系统的编码规则和校验规则6. 数据库的操作6.1 查看数据库6.2 创建数据库 create database6.3 删除数据库…

正信法律:朋友生病借了钱不认我该怎么办

当朋友生病急需帮助时&#xff0c;伸出援手是人之常情。但若借款之后对方迟迟不还款&#xff0c;甚至出现不承认借款的情况&#xff0c;这无疑会让人陷入两难的境地。面对这样的困境&#xff0c;我们需要保持冷静&#xff0c;理性地分析情况&#xff0c;并采取适当的措施来解决…

畅捷通T+ Ufida.T.DI.UIP.RRA.RRATableController 远程命令执行漏洞

一、漏洞信息 漏洞名称&#xff1a;畅捷通T Ufida.T.DI.UIP.RRA.RRATableController 远程命令执行漏洞 漏洞类别&#xff1a;远程命令执行漏洞 风险等级&#xff1a;高危 二、漏洞描述 畅捷通TPlus适用于异地多组织、多机构对企业财务汇总的管理需求&#xff1b;全面支持企…

基于springboot+vue的乌鲁木齐南山冰雪旅游服务网

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

SAP Fiori开发中的JavaScript基础知识4 - 在BAS中开发和调试JavaScript代码

1 背景 SAP Business Application Studio(BAS) 内置了对Node.js运行时的调试支持&#xff0c;可以调试JavaScript、TypeScript或任何其他被编译成JavaScript的语言。 我们在学习JavaScript的过程中&#xff0c;可以直接使用SAP BAS开发和调试JavaScript代码。 2 开发代码 需…

Python(Socket) +Unreal(HTTP)

Python&#xff08;Socket&#xff09; Unreal&#xff08;HTTP&#xff09; python&#xff08;Socket&#xff09;:UE&#xff1a;Post请求并发送本机IP 上班咯&#xff0c;好久没记笔记了。。。 局域网 UE的apk&#xff0c;请求Python的Socket 跑起Socket &#xff0c;UE发 …

找图识字模拟键鼠编程插件奥迦插件24.3.18

名称&#xff1a;奥迦插件24.3.18更新记录24.3.183 1.增加函数SetObjectNamesEncode2.修复按键函数在有些窗口不能按下方向键的问题命令功能介绍:奥迦插件在Windows 10操作系统上使用Visual Studio 2019编写,适用于所有较新的Windows平台,是一款集网络验证,深度学习,内核,视觉,…