Node.JS命令行或批处理中更改Linux用户密码


发布者 ourjs  发布时间 1532057385473
关键字 编程技巧  Node.JS 
chpasswd 可在批处理文件中批量更改Linux用户的密码。

用法:

chpasswd [options]

option主要为一些密码加密选项

-c, --crypt-method
Use the specified method to encrypt the passwords.
The available methods are DES, MD5, NONE, and SHA256 or SHA512 if your libc support these methods.
-e, --encrypted
Supplied passwords are in encrypted form.
-h, --help
Display help message and exit.
-m, --md5
Use MD5 encryption instead of DES when the supplied passwords are not encrypted.
-s, --sha-rounds
Use the specified number of rounds to encrypt the passwords.
The value 0 means that the system will choos


输入命令后,按 username:password 格式输入用户名密码,一行一个,如:

chpasswd
newghost:4567

用这种方法可在node.js中使用:


var cp	= require('child_process')
//更新密码
var chpasswd = cp.spawn('chpasswd')
var errmsg
//查看是否有错误
chpasswd.stderr.on('data', function (data) {
  errmsg += data.toString()
})
chpasswd.on('exit', function(code) {
  if (cb) {
    errmsg
      ? cb(new Error(errmsg))
      : cb()
  }
})
//写入密码
chpasswd.stdin.write(username + ':' + password)
chpasswd.stdin.end()