chpasswd在Linux系统中用于批量更改用户密码

chpasswd 是一个在 Linux 系统中用于批量更改用户密码的命令。它通常用于从标准输入读取用户名和密码对,每行一个,格式为 username:password,然后更新 /etc/passwd/etc/shadow 文件中的密码信息。

基本用法

  1. 更改用户密码

    1
    chpasswd

    执行此命令后,系统会提示你输入密码。然后,你可以输入用户名和新密码,格式为 username:newpassword

  2. 从文件更改密码

    1
    chpasswd < filename

    其中 filename 是包含用户名和密码对的文件,每行一个,格式为 username:password

  3. 使用 echo 命令

    1
    echo "username:newpassword" | chpasswd

    这个命令会将 username:newpassword 作为输入传递给 chpasswd

  4. 使用管道

    1
    echo "username:newpassword" | chpasswd

    这与上面的命令相同,也是将用户名和密码通过管道传递给 chpasswd

  5. 使用期望expect)脚本:

    1
    expect -c "spawn chpasswd; send \"username\r\"; send \"newpassword\r\"; expect eof"

    这个脚本会自动输入用户名和新密码。

注意事项

  • chpasswd 命令在执行时需要超级用户权限。
  • 密码应该足够复杂,以确保系统的安全性。
  • 在使用 chpasswd 时,确保你了解密码策略,以避免违反安全规定。