Linux-chpasswd 修改用户密码

chpasswd可以方便批量修改用户密码,下面介绍一下chpasswd如何使用。
首先简单介绍一下chpasswd的两种设置方式的原型

echo [username]:[passwd] |chpasswd
chpasswd [options] < passwd.txt

下面介绍一下文章要用的参数:

用户名: user
明文密码:12345678
密文密码:$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/

0、linux查看密码

root@Xubuntu18:cat /etc/shadow
root:$6$5KdRSQdF$kEEMjx2jRuX54QmQnn.FG4/v7VRbLBVVls0LP1/phYBeH0DL7n.rN5iIIGh5IAK9dlR0vF3xEWGIRpfqfVoak0:18452:0:99999:7:::
ftp:$6$Bpln2jbJ$EWwGVaLNVPp3ARTMOB/oEkLiec9iznyiF8fHnMC.XijKDb6.wfc0MKuvNg5hDz21GZgEPXWJ28jyk3ItaQuuv/:18689:0:99999:7:::
ftpp:!:18689:0:99999:7:::

简单列举了3个用户的密码信息,第一个用户是root,是带密码的,第二个是ftp,也是有密码的,第三个是ftpp,后面带!,代表没有密码。

注意事项:
1、chpasswd命令修改密码只能在root用户下
2、修改的用户必须存在,否则无法设置密码,可以使用下面的命令添加:

useradd  username  //username 是要创建的用户名

1、明文直接设置

root@Xubuntu18: echo user:12345678|chpasswd

用查看密码信息的命令查看一下,已经修改成功

root@Xubuntu18:  cat /etc/shadow |grep user
user:$6$7PiIkAF2$hLerqFb0TS483JZwXPM9e1im2U7pgVlaTFtgNwp4lyJNXunp5xGgO8Rle53rBiPoiTQ6BVz7j9bwtO98hh.xw/:18689:0:99999:7:::

2、密文设置

密文可以通过openssl对明文进行加密,下面是对密码:12345678加密的例子:

root@Xubuntu18: openssl passwd -1 12345678
$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/

第二行字符串是生成的密码密文,接下来用chpasswd命令修改密码,密码改成了密文,chpasswd后面需要加 -e的参数

root@Xubuntu18: echo user:$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/|chpasswd -e

可以通过/etc/shadow 查看一下是否修改成功。

3、明文设置,指定加密方式

下面是通过-c指定加密的方式,加密方式包括:DES,MD5,NONE,SHA256,SHA512

root@Xubuntu18: echo user:12345678|chpasswd -c SHA512

可以自行修改加密方式的参数,查看/etc/shadow来对比差异

4、批量明文设置

将用户名密码写入文本文件中,例如passwd.txt,内容格式为:
username:password

例如:
user1:12345678
user2:12345678

然后用chpasswd命令进行密码设置,注意passwd.txt的路径。

root@Xubuntu18: chpasswd < /home/user/passwd.txt

5、批量密文设置

同明文一样,将用户名:密文添加到passwd.txt中,例如:
user1: 1 1 1NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
user2: 1 1 1NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
运用下面的命令进行密码设置,密文需要加 -e

root@Xubuntu18: chpasswd -e < /home/user/passwd.txt

以上就是学习到的关于chpasswd的5钟使用方法,欢迎大家评论区补充或提问,如果觉得有用,记得点赞收藏哟!!!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 可以使用以下命令批量修改Linux系统中多个用户密码: 1. 将用户名和密码存储在一个文件中,例如passwd.txt,每行包含一个用户名和密码,使用冒号分隔。 2. 使用以下命令批量修改密码: ```bash while read line; do username=$(echo $line | cut -d':' -f1) password=$(echo $line | cut -d':' -f2) echo "$username:$password" | chpasswd done < passwd.txt ``` 这个命令会读取密码文件中的每一行,分别提取用户名和密码,然后使用 chpasswd 命令将其设置为新密码。 ### 回答2: 在Linux系统中,我们可以使用批量操作的方法来修改用户密码。下面是一种常见的方法: 1. 首先,我们可以使用命令"cat /etc/passwd"来查看系统中的用户列表,其中包含了用户用户名和用户的UID(用户ID)等信息。 2. 然后,我们创建一个文本文件,例如名为"password.txt",用于存储用户和相应的新密码。文本文件的格式可以是"用户名:新密码",每行对应一个用户。 3. 接下来,我们可以使用"while read"的循环语句,逐行读取"password.txt"文本文件中的内容,并使用"cut"命令对每行内容进行处理,获取用户名和新密码。 4. 对于每个用户名,我们可以使用"passwd"命令来修改用户密码。命令格式为"echo '用户名:新密码' | passwd --stdin 用户名"。这个命令会将新密码作为标准输入传递给"passwd"命令,并修改对应用户密码。 5. 最后,我们通过遍历文本文件中的每一行来执行上述操作,实现批量修改用户密码的功能。 需要注意的是,执行以上操作通常需要具备管理员权限。 通过以上步骤,我们可以轻松地实现Linux系统中批量修改用户密码的功能,提高管理效率。 ### 回答3: 在Linux系统中,我们可以通过使用批量修改用户密码的命令行工具来实现。下面是一种简单而常用的方法: 第一步,我们需要创建一个包含所有用户和新密码的文本文件,每行一个用户,格式为“用户名:新密码”。 第二步,打开终端并以管理员身份登录到系统。 第三步,使用命令`sudo chpasswd < 用户密码文件`来批量修改用户密码。在该命令中,`chpasswd`是修改密码的命令,`< 用户密码文件`是用于输入用户密码的文件。 执行命令后,系统将读取输入的密码文件,并将文件中每行的用户名和对应的新密码应用于相关的用户账户。这样,系统中的所有用户密码将会被批量修改为新的密码。 需要注意的是,使用该方法修改用户密码需要具有管理员权限,所以我们在执行命令时需要添加`sudo`来提升权限。 此外,还可以使用其他方式实现批量修改用户密码,比如使用脚本编程语言,编写一个批量修改密码的脚本。不同的方法适合于不同的需求和系统环境,可以根据具体情况选择合适的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值