Linux命令之chpasswd命令

news2024/10/5 14:34:20

一、chpasswd命令简介

  chpasswd命令用于同时更改多个用户的密码。它可以从标准输入或指定的文件中读取用户名和密码的组合,并将其应用于系统中的用户。chpasswd命令通常用于批量更改用户密码,特别是在自动化脚本或批处理任务中,该命令需要root账户权限才可以执行。使用chpasswd命令时,可以通过以下两种方式提供用户名和密码的组合:

  • 从标准输入读取:可以通过管道或重定向操作符将用户名和密码的组合传递给chpasswd命令。每个用户名和密码的组合应占据一行,并使用冒号分隔用户名和密码。
  • 从文件读取:可以通过指定文件路径作为chpasswd命令的参数来读取用户名和密码的组合。文件中的每个用户名和密码的组合应占据一行,并使用冒号分隔用户名和密码。

二、chpasswd命令使用示例

1、获取命令帮助

[root@s152 ~]# chpasswd -h
用法:chpasswd [选项]

选项:
-c, --crypt-method 方法 加密方法(NONE DES MD5 SHA256 SHA512 中的一个)
-e, --encrypted 提供的密码已经加密
-h, --help 显示此帮助信息并推出
-m, --md5 使用 MD5 算法加密明文密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --sha-rounds SHA* 加密算法中的 SHA 旁边的数字

2、修改单个用户密码

[root@s152 ~]# useradd username1
[root@s152 ~]# echo “username1:password1” | chpasswd
在这里插入图片描述

3、从标准输入批量修改用户密码

  输入chpasswd命令后直接回车,交互窗口下按照如下格式输入用户名和密码,使用ctl+D结束输入。

[root@s152 ~]# chpasswd
username1:123456
username2:123456
username3:12345678
[root@s152 ~]# su - username1
上一次登录:五 8月 25 15:24:34 CST 2023pts/0 上
[username1@s152 ~]$ su - username3
密码:
上一次登录:五 8月 25 15:47:27 CST 2023pts/0 上
最后一次失败的登录:五 8月 25 15:47:43 CST 2023pts/0 上
最有一次成功登录后有 1 次失败的登录尝试。

4、从文件读取密码批量修改用户密码

  当然我们也可以使用cat结合|管道符的方式,可以完成批量用户密码修改。

[root@s152 ~]# cat pass.txt
username1:1234567
username2:1234567
username3:12345678
[root@s152 ~]# cat pass.txt | chpasswd

5、使用密码密文修改用户密码

  我们可以使用openssl生成密码的密文内容,将密文内容写入到文件中,然后通过使用-e参数批量修改密码。

[root@s152 ~]# openssl passwd -1 Wuhs@pass
$1$1lP9KfKx$uj1QJqB4EjMXTGN9YOk3G1
[root@s152 ~]# cat pass.txt 
username1:$1$1lP9KfKx$uj1QJqB4EjMXTGN9YOk3G1
username2:$1$1lP9KfKx$uj1QJqB4EjMXTGN9YOk3G1
username3:$1$1lP9KfKx$uj1QJqB4EjMXTGN9YOk3G1
>[root@s152 ~]# cat pass.txt |chpasswd -e
[root@s152 ~]# su - username1           
上一次登录:五 8月 25 16:12:24 CST 2023pts/0 上
[username1@s152 ~]$ su - username2
密码:
上一次登录:五 8月 25 16:12:46 CST 2023pts/0 上
[username2@s152 ~]$ 

5、指定加密算法修改用户密码

[root@s152 ~]# cat pass2.txt
username1:123456
username2:12345678
username3:12345678
[root@s152 ~]# cat pass2.txt | chpasswd -m

三、使用语法及参数说明

1、使用语法

[root@s152 ~]# chpasswd [选项]

2、参数说明

参数参数说明
-c, --crypt-method 方法加密方法(NONE DES MD5 SHA256 SHA512 中的一个)
-e, --encrypted提供的密码已经加密
-h, --help显示此帮助信息并推出
-m, --md5使用 MD5 算法加密明文密码
-R, --root CHROOT_DIRchroot 到的目录
-s, --sha-roundsSHA* 加密算法中的 SHA 旁边的数字

四、chpasswd命令使用实践

1、修改主机所有普通用户密码为随机密码

  • 获取主机普通用户列表
[root@s152 ~]# grep -A100 "1000" /etc/passwd
wuhs:x:1000:1000::/home/wuhs:/bin/bash
username1:x:1001:1001::/home/username1:/bin/bash
username2:x:1002:1002::/home/username2:/bin/bash
username3:x:1003:1003::/home/username3:/bin/bash
user1:x:1004:1004::/home/user1:/bin/bash
user2:x:1005:1005::/home/user2:/bin/bash
user3:x:1006:1006::/home/user3:/bin/bash
  • 截取用户名
[root@s152 ~]# grep -A100 "1000" /etc/passwd |awk -F ":" '{print $1}'
wuhs
username1
username2
username3
user1
user2
user3
  • 生产随机密码
    为了主机安全,我们可以使用rand命令给每个用户生成随机密码。
    在这里插入图片描述
[root@s152 ~]# grep -A100 "1000" /etc/passwd |awk -F ":" '{print $1}'|while read username; do echo "$username:$(openssl rand -base64 12 | tr -d '/+=' | cut -c1-10)"; done
wuhs:5alFTKDlx4
username1:sk6cLRudWd
username2:dmXUNwtbfV
username3:9uSatzk4o5
user1:u7oyTpJNsU
user2:skPUFLSBph
user3:N9H26K9DAn
  • 写入密码文件
[root@s152 ~]# grep -A100 "1000" /etc/passwd |awk -F ":" '{print $1}'|while read username; do echo "$username:$(openssl rand -base64 12 | tr -d '/+=' | cut -c1-10)"; done > passwords.txt 
  • 批量修改用户密码
[root@s152 ~]# cat passwords.txt | chpasswd 

2、修改主机所有普通用户为指定密码

  • 获取用户列表并生成指定密码的密文文件
[root@s152 ~]# grep -A100 "1000" /etc/passwd |awk -F ":" '{print $1}'|while read username; do echo "$username:`openssl passwd -1 123456`"; done | tee > passwords.txt    
[root@s152 ~]# cat passwords.txt 
wuhs:$1$btyaR2sN$FveCHL1OmoXlxOchhGfcS0
username1:$1$G91mrc9c$Mk8WfCDlAdkF7rBeVqKRA/
username2:$1$w3fDQoya$IB68pOvfFsF8Q3o9.bl3S/
username3:$1$otFkp13s$XaKllMYpAEw..O86v5mGo.
user1:$1$NwidAVMb$dGtoik4PJveKhaD8ETwv6.
user2:$1$ILVS7XnP$N8LA9lu1UusMqaecEG33Z1
user3:$1$ybXJAUnb$oFLxTE4qi8J7/AuneQQzV0
  • 批量修改密码

[root@s152 ~]# cat passwords.txt |chpasswd -e
[root@s152 ~]# su - wuhs
上一次登录:五 8月 25 16:52:48 CST 2023pts/0 上
[wuhs@s152 ~]$ su - user1
密码:
上一次登录:五 8月 25 16:52:55 CST 2023pts/0 上

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

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

相关文章

ERP系统供应商协同:优化企业供应链管理

一、ERP系统供应商协同的概念和功能 供应商协同是指在供应链中,企业与供应商之间通过ERP系统进行紧密合作和信息共享,实现供应链各个环节的协调和优化。ERP系统供应商协同功能涉及以下方面: 1. 供应商管理:ERP系统提供完善的供应…

华为云云耀云服务器L实例评测|windows系统3389防爆破之安全加固教程

为什么要选择华为云云耀云服务器L实例: 华为云在全国范围内建立了多个数据中心,这些数据中心之间相互冗余,以确保高可靠性和可用性,用户可以选择最适合的区域来部署应用程序,以实现更好的性能和延迟。 相对于传统的物…

选择什么电容笔比较好?平板手写笔推荐

由于苹果Pencil的热销,让华国内市场上,也出现了不少的平替式电容笔,这些产品,有好有坏,价格也很公道。不过,也有很多产品的价格都很平价。我是一个拥有多年经验的数码发烧友,在前几年就开始用上…

docker安装和docker安装RabbitMQ

docker安装 执行命令,先查看是否有Docker docker --version 如果想要删除:yum -y remove docker-ce 如果没有需要安装: 1.执行命令,实现Docker安装 yum install -y yum-utils yum-config-manager --add-repo http://mirrors.…

数组模拟堆实现堆排序

文章目录 QuestionIdeasCode Question 输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。 输入格式 第一行包含整数 n 和 m 。 第二行包含 n 个整数,表示整数数列。 输出格式 共一行,包含 m 个整数,表示整数数列中前 m …

如何选择安全可靠的跨网文件安全交换一体机?

各行各业为了保护核心数据,绝大多数企业采取的第一个步骤是将企业内网与互联网进行隔离,将内部数据“困在”内网,同时也能够有效屏蔽外部网络攻击的风险。较大规模的企业,比如金融、政府、集成电路等行业机构,还可能对…

UE5----使用C++的项目重新打开后东西丢失

最近开始学习c编写代码,发现在场景里放置了Actor后,第二天打开项目,场景里边的放的球啊啥的东西没有了,蓝图类也丢失了父类。 解决方案: 不在Epic里打开虚幻引擎,在VS中打开。点击这个小绿三角&#xff0…

河北吉力宝:多维发力走创新智能鞋业道路

在快速发展的时代潮流中,智能科技正在改变我们的生活方式,消费者的选择更加多元化,以及制鞋行业同质化竞争严重等多重不利因素的影响,我国制鞋行业竞争加剧,各制鞋企业也在不断探索新市场,进一步拓展市场空…

京东数据分析:2023年下半年母婴市场各大细分赛道消费趋势盘点!

于今天的新生代父母而言,在诸多消费观念被改变的当下,新生父母们在育儿上更强调精细化,在这种情况下,母婴市场的消费升级已是大势所趋。不过,在如今收入增速整体放缓的背景下,各细分赛道的消费升级都出现了…

文心大模型4.0正式发布!来看看这届百度世界有啥亮点

今天,2023百度世界大会开幕了,大家都关注了吗?本次大会有很多亮点,我先摘一些和大家分享。 李彦宏现场做「手把手教你做AI原生应用」的分享,百度很多产品通过大模型进行了重构。文心大模型4.0重磅发布,综合…

mac读写硬盘的软件Tuxera NTFS2023免费版下载

Mac用户在使用NTFS格式移动硬盘时,会遇到无法写入硬盘的情况。要想解决无法写入的问题,很多人选择使用Mac读写软件。面对市面上“众多”的读写硬盘软件,用户应该怎么选择呢?初次接触移动硬盘的伙伴可能不知道移动硬盘怎么和电脑连…

短视频矩阵剪辑系统源码

短视频剪辑矩阵系统开发源码----源头搭建 一、源码技术构建源码部署搭建交付之---- 1.需要协助系统完成部署、接口全部正常接入、系统正常运行多久?7个工作日 2.需要准备好服务器以及备案域名 3.短视频SEO模块一年项目带宽,带宽最低要求10M,…

基于Java的交通事故档案管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

vue重修【005】自定义路由、插槽

文章目录 版权声明自定义指令指令初识指令中配置项指令语法指令值v-loading指令的封装分析实现 插槽默认插槽插槽默认值具名插槽作用域插槽使用步骤完整案例 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程…

[python 刷题] 143 Reorder List

[python 刷题] 143 Reorder List 题目: You are given the head of a singly linked-list. The list can be represented as: L 0 → L 1 → … → L n − 1 → L n L_0 → L_1 → … → L_{n - 1} → L_n L0​→L1​→…→Ln−1​→Ln​ Reorder the list to be o…

安装SSL证书提示不信任,怎么办?

随着越来越多的SSL证书错误的状况出现,经常有“SSL证书不受信任怎么办”这类的难题,而且对这种难题很头痛,以下是JoySSL公司常见的SSL证书不受信任的缘故及解决方案。 1.证书过期 网络证书跟我们的纸质证书一样,他都会有一个有效期…

K 近邻算法解析: 从原理到实践的机器学习指南

机器学习 第三课 k 近邻 概述机器学习简介K 近邻算法K 近邻中的距离欧氏距离曼哈顿距离余弦相似度 选择合适的 K 值奇数 vs 偶数通过交叉验证选择 k 值 实战分类问题回归问题 K 近邻算法的优缺点优点缺点 手把手实现 k 近邻手搓算法实战分类 概述 机器学习 (Machine Learning)…

OWASP TOP 10-注入-SQL注入

文章目录 OWASP TOP 10注入注入的分类SQL注入SQL注入的危害:sqlmap自动化注入注入类型回显注入盲注时间注入不同请求方式的注入特殊位置的注入利用DNSLOG注入基于报错的注入二阶注入宽字节注入堆叠注入sql注入读写文件 OWASP TOP 10 A1:2017 注入 A2&am…

luming.02无限进步 #我的创作纪念日

前言:今天早上起床后,看见CSDN官方小助手发来一条系统通知,刚好没什么事,就点开分享分享我的创作经历 luming.02 ,不知不觉今天已经是你成为创作者的 第128天 啦,为了纪念这一天,我们为您准备了…

DS线性表之栈和队列

前言 我们前面已经介绍并实现了顺序表和链表以及介绍了他们的优缺点!本期我们再来学习一个基本数据结构栈和队列~!这里的栈可不是内存的那个栈,内存的那个栈是操作系统的概念,而这个栈是数据结构的栈,是一个容器。他们…