CHPASSWD(8) | 系统管理命令 | CHPASSWD(8) |
名称¶
chpasswd - 批量更新密码
大纲¶
chpasswd [选项]
描述¶
The chpasswd command reads a list of user name and password pairs from standard input and uses this information to update a group of existing users. Each line is of the format:
user_name:password
默认必须明文提供密码,然后由 chpasswd 加密。如果存在密码年龄信息,也会更新之。
The default encryption algorithm can be defined for the system with the ENCRYPT_METHOD or MD5_CRYPT_ENAB variables of /etc/login.defs, and can be overwitten with the -e, -m, or -c options.
chpasswd first updates all the passwords in memory, and then commits all the changes to disk if no errors occured for any user.
此命令一般用于需要一次创建很多用户的大型系统。
选项¶
chpasswd 可以接受的选项有:
-c, --crypt-methodMETHOD
可用的方法有 DES, MD5, NONE, and SHA256 或 SHA512,前提是您的 libc 支持这写方法。
By default (if none of the -c, -m, or -e options are specified), the encryption method is defined by the ENCRYPT_METHOD or MD5_CRYPT_ENAB variables of /etc/login.defs.
-e, --encrypted
-h, --help
-m, --md5
-R, --rootCHROOT_DIR
-s, --sha-roundsROUNDS
值 0 表示让系统为加密方法选择默认的轮转次数 (5000)。
会强制最小 1,000,最大 9,9999,9999
您只可以对 SHA256 或 SHA512 使用此选项。
By default, the number of rounds is defined by the SHA_CRYPT_MIN_ROUNDS and SHA_CRYPT_MAX_ROUNDS variables in /etc/login.defs.
CAVEATS¶
记住要设置权限或者掩码来阻止其它用户对未加密文件的读取。
配置文件¶
在 /etc/login.defs 中有如下配置变量,可以用来更改此工具的行为:
ENCRYPT_METHOD (string)
可以使用如下值:DES (default), MD5, SHA256, SHA512.
注意,此参数会覆盖 MD5_CRYPT_ENAB 变量。
MD5_CRYPT_ENAB (boolean)
This variable is superseded by the ENCRYPT_METHOD variable or by any command line option used to configure the encryption algorithm.
此变量已经废弃。您应该使用 ENCRYPT_METHOD。
SHA_CRYPT_MIN_ROUNDS (number), SHA_CRYPT_MAX_ROUNDS (number)
使用很多轮转,会让暴力破解更加困难。但是需要注意,认证用户时也会需要更多的 CPU 资源。
如果没有指定,libc 会选择默认的轮转数(5000)。
值必须在 1000 - 999,999,999 之间。
如果只设置了一个 SHA_CRYPT_MIN_ROUNDS 或 SHA_CRYPT_MAX_ROUNDS 值,就会使用这个值。
如果 SHA_CRYPT_MIN_ROUNDS > SHA_CRYPT_MAX_ROUNDS,将会使用大的那个。
文件¶
/etc/passwd
/etc/shadow
/etc/login.defs
参见¶
2016-05-11 | shadow-utils 4.1.5.1 |