linux批量修改密码命令

fiy 其他 43

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要批量修改Linux用户密码,可以使用以下命令:

    1. 使用 usermod 命令批量修改密码:

    “`bash
    for user in $(grep ‘/home’ /etc/passwd | cut -d: -f1); do
    sudo usermod –password $(openssl passwd -1 NewPassword) $user
    done
    “`

    这个命令会获取所有位于 /home 目录下的用户,并将密码修改为 “NewPassword”。你需要将 “NewPassword” 替换为你想要设定的密码。

    2. 使用 chpasswd 命令批量修改密码:

    “`bash
    echo ‘username1:NewPassword’ | sudo chpasswd
    echo ‘username2:NewPassword’ | sudo chpasswd
    echo ‘username3:NewPassword’ | sudo chpasswd
    “`

    这个命令逐行修改每个指定用户的密码。你需要将 “username1、username2、username3” 替换为你想要修改密码的用户名,并将 “NewPassword” 替换为你想要设定的密码。

    3. 使用 expect 命令批量修改密码:

    创建一个名为 “batch_password_change.exp” 的文件,并将以下脚本复制到文件中:

    “`bash
    #!/usr/bin/expect
    set timeout 10

    # 修改密码
    spawn passwd [lindex $argv 0]
    expect “New password:”
    send — “NewPassword\r”
    expect “Retype new password:”
    send — “NewPassword\r”

    expect eof
    “`

    运行以下命令进行批量修改密码:

    “`bash
    chmod +x batch_password_change.exp
    echo “username1” | ./batch_password_change.exp
    echo “username2” | ./batch_password_change.exp
    echo “username3” | ./batch_password_change.exp
    “`

    将 “username1、username2、username3” 替换为你想要修改密码的用户名,并将 “NewPassword” 替换为你想要设定的密码。

    这些命令可以在Linux系统中批量修改用户密码。记得在执行这些命令前先备份你的用户密码文件,以免出现意外情况。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以使用以下命令批量修改密码:

    1. passwd命令:使用passwd命令可以更改用户的密码。可以通过循环遍历用户列表,然后使用passwd命令为每个用户修改密码。例如:
    “`bash
    for user in $(cat userlist.txt)
    do
    echo “New password for $user:”
    passwd $user
    done
    “`
    这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并提示输入新密码。然后,通过passwd命令为每个用户修改密码。

    2. chpasswd命令:chpasswd命令可以从文件中批量修改密码。可以将用户名和密码以用户名:密码的形式写入文件,并使用chpasswd命令将文件中的密码批量更新到系统。例如:
    “`bash
    cat userpass.txt | chpasswd
    “`
    这里的userpass.txt是一个包含用户名和密码的文本文件,每行一个。chpasswd命令将读取文件中的用户名和密码,并将其更新到系统中的对应用户。

    3. usermod命令:usermod命令可以修改用户的属性,包括密码。可以通过循环遍历用户列表,然后使用usermod命令为每个用户修改密码。例如:
    “`bash
    for user in $(cat userlist.txt)
    do
    echo “New password for $user:”
    passwd $user
    done
    “`
    这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并提示输入新密码。然后,通过passwd命令为每个用户修改密码。

    4. 使用expect工具:expect是一个用于自动化交互式进程的工具。可以创建一个expect脚本,使用send和expect命令与passwd命令进行交互性地修改密码。例如:
    “`bash
    #!/usr/bin/expect

    set userlist [open “userlist.txt” r]
    while {[gets $userlist username] != -1} {
    spawn passwd $username
    expect “Enter new UNIX password:”
    send “new_password\r”
    expect “Retype new UNIX password:”
    send “new_password\r”
    expect eof
    }
    “`
    这里的userlist.txt是一个包含用户名列表的文本文件。上述脚本将逐行读取userlist.txt中的用户名,并与passwd命令进行交互式地修改密码。新密码需要在脚本中的send命令中指定。

    5. 使用SSH密钥:如果你有多个服务器需要修改密码,可以使用SSH密钥来批量修改密码。首先,将SSH公钥拷贝到所有服务器上的authorized_keys文件中。然后,使用SSH密钥登录到每个服务器,并使用passwd命令修改密码。通过SSH密钥登录可以避免输入密码,并可以批量执行命令。

    这些是在Linux系统中批量修改密码的几种常用方法。根据实际情况选择适合的方法来批量修改密码。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,可以使用命令行工具来批量修改用户密码。下面将介绍一种常用的方法和操作流程。

    1. 创建一个包含所有用户名的文本文件:

    首先,创建一个包含所有用户名的文本文件。你可以使用任何文本编辑器,比如vi或nano。在文件中,每个用户名占据一行。保存文件并记住它的路径和文件名。

    2. 使用循环来修改密码:

    接下来,我们使用循环来依次读取文本文件中的用户名,并对每个用户执行修改密码的操作。在终端中输入以下命令:

    “`
    while read -r username; do
    passwd “$username”
    done < /path/to/usernames.txt```请将`/path/to/usernames.txt` 替换为你在第一步中创建的文本文件的路径和名称。3. 输入新密码:当你运行上述命令后,系统会提示你输入新密码。在连续输入两次后,密码将被更改。请记住每次的新密码。重复这个过程直到循环结束,所有列出的用户的密码都会被更改为对应的新密码。这是一种简单且有效的批量修改Linux用户密码的方法。通过使用文本文件和循环,你可以一次性修改多个用户的密码,省时省力。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部