0060. shell命令--chpasswd

目录

60. shell命令--chpasswd

功能说明

语法格式

选项说明

实践操作

注意事项


60. shell命令--chpasswd

功能说明

        chpasswd 命令在 Linux 系统中用于批量更新用户的密码。这个命令非常有用,特别是在批量创建用户并需要为这些用户设置初始密码时,或者是在需要快速更新多个用户密码的场景中。chpasswd 读取标准输入中的用户名和密码对(格式为 用户名:密码),然后更新这些用户的密码。

        chpasswd 命令是批量更新用户口令的工具,是把一个文件内容重新定向添加到 /etc/shadow 中。 chpasswd 命令从系统的标准输入读入用户的名称和口令,并利用这些信息来更新系统上已存在的用户的口令。

        但是,由于 chpasswd 主要从标准输入(stdin)读取用户名和密码对,因此它通常与 echo 或其他命令的管道(pipe)一起使用,或者通过重定向(redirection)从文件中读取。

语法格式

chpasswd [<选项>]

SYNOPSIS
       chpasswd [options]

选项说明

-e:输入的密码是加密后的密文;
-h:显示帮助信息并退出;
-m:当被支持的密码未被加密时,使用MD5加密代替DES加密。

实践操作

0. 环境准备
seq 6 |sed -r 's#(.*)#useradd usertest-\1#g' |bash  #批量创建5个普通用户
tail -6 /etc/passwd

1. 直接修改用户 usertest-1 的密码为 usertest-1
tail -6 /etc/shadow
echo usertest-1:usertest-1 |chpasswd
tail -6 /etc/shadow

2. 命令行直接输入并执行
tail -6 /etc/shadow
chpasswd    #在新的一行中输入用户名和密码,按Ctrl+d结束输入,若中途输入错了,按住Ctrl键在按退格就行了
#usertest-2:usertest-2
#usertest-3:usertest-3
tail -6 /etc/shadow

3. 从写好的文件中执行
echo -e "usertest-4:usertest-4\nusertest-5:usertest-5" >passwd.txt
cat passwd.txt
tail -3 /etc/shadow
chpasswd <passwd.txt
tail -3 /etc/shadow

4. 让普通用户使用 chpasswd
# 默认普通用户是没有chpasswd的权限,但是可以通过修改命令文件权限来修改
ll /usr/sbin/chpasswd
su - usertest-1
whoami
echo usertest-6:usertest-6 |chpasswd
logout
chmod 4755 /usr/sbin/chpasswd
ll /usr/sbin/chpasswd
su - usertest-1
echo usertest-6:usertest-6 |chpasswd 
tail -1 /etc/shadow
logout
tail -1 /etc/shadow

注意事项

  • 权限问题:更新用户密码通常需要超级用户权限,因此可能需要使用 sudo。
  • 安全性:直接在命令行中使用 echo 或文件来传递密码可能存在安全风险,因为这些命令和文件可能会保留在命令历史或系统中。确保处理密码的方式符合你的安全政策。
  • 加密:chpasswd 命令处理的密码不是加密的,而是直接以明文形式处理。但是,一旦密码被设置,它们就会在系统中以加密形式存储。
  • 密码策略:确保你设置的密码符合系统的密码策略要求,比如长度、复杂度等。
  • 使用临时文件:将用户名和密码对写入一个临时文件,并确保该文件具有适当的权限(如仅所有者可读写),然后立即使用 chpasswd 读取该文件,并在完成后删除该文件。
  • 避免命令历史记录:在 Bash 中,可以通过在命令前添加空格来防止该命令被记录到历史中(尽管这不是完全安全的,因为其他工具可能仍然捕获到命令)。
  • 加密存储:虽然 chpasswd 本身不处理加密的密码,但可以在将密码写入文件之前使用加密工具(如 openssl)对密码进行加密,然后在脚本中解密并使用。然而,这种方法增加了复杂性,并且需要确保解密密钥的安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值