zoukankan      html  css  js  c++  java
  • chpasswd 批量更新用户口令

    chpasswd - update passwords in batch mode

    • chpasswd 是一个批量更新用户口令的命令
    • chpasswd 会从标准输入批量读取成对的用户名和密码,并使用这些信息来更新现有的一组
      用户
    • 从标准输入读取的每行数据格式应为 username:password 即用户名和密码用冒号分隔开
    • 默认情况下所提供的密码必须是明文,并通过chpasswd进行加密
    • chpasswd 首先在内存中更新密码,在没有任何错误的情况下才会将更改的密码更新到磁盘中
    • chpasswd 的应用场景主要是在一个比较大的系统环境下,同一时间创建了多个用户的情况
    • 默认的加密算法可以通过修改/etc/login.defs中ENCRYPT_METHOD变量的值(默认值SHA512),可以通过-e,-m,-c选项覆盖默认的加密算法

    常用选项如下:

    -c 使用指定的方法来加密密码,可用的方法是DES、MD5、NONE、SHA512(前提是你的系统支持这些加密算法)
    -e 输入的密码是加密后的密码
    -m 当提供的密码没有加密时,使用MD5代替DES加密
    -s 使用指定的rounds数值加密密码(SHA加密算法)
    
    • 如果指定的数值为0将使用默认的rounds数值5000
    • 数值的范围在1000到999999999之间
    • 可以使用-s参数跟上SHA256或SHA512
    • 默认的最小和最大rounds定义在/etc/login.defs文件的SHA_CRYPT_MIN_ROUNDS和SHA_CRYPT_MAX_ROUNDS变量中
      配置说明:下面列出的所有配置项都可以通过修改/etc/login.defs中的配置来生效
    ENCRYPT_METHOD 该值定义了chpasswd默认的加密算法,该变量的值可以定义为:DES(默认)、MD5、SHA256、SHA512
    SHA_CRYPT_MIN_ROUNDS 当ENCRYPT_METHOD的值定义为SHA256或SHA512时,将使用该变量的值作为SHA加密算法的最小rounds值
    SHA_CRYPT_MAX_ROUNDS 当ENCRYPT_METHOD的值定义为SHA256或SHA512时,将使用该变量的值作为SHA加密算法的最大rounds值
    
    • SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS 默认没有在/etc/login.defs文件中定义,一旦定义将被采用,如果没有定义则使用5000作为默认的rounds值
    • SHA_CRYPT_MIN_ROUNDS 和 SHA_CRYPT_MAX_ROUNDS的取值范围为1000-999999999
    • 如果SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS,将取SHA_CRYPT_MIN_ROUNDS的值作为默认rounds值

    基本使用:

    [root@prenv ~]# useradd chtest
    [root@prenv ~]# chpasswd
    chtest:123456
    [root@prenv ~]# echo "chtest:123456" > passwd.txt
    [root@prenv ~]# chpasswd < passwd.txt 
    
    
  • 相关阅读:
    SSM应用(五)--参数绑定
    SSM应用(四)--SpringMVC入门
    Oracle常用函数
    SSM应用(三)--Spring整合MyBatis
    SSM应用(二)--注解的使用
    SSM应用(一)--Spring入门
    MyBatis学习(十四)--逆向工程使用
    MyBatis学习(十三)--缓存
    MyBatis学习(十二)--懒加载
    MySQL常用函数
  • 原文地址:https://www.cnblogs.com/spinxy/p/6075931.html
Copyright © 2011-2022 走看看