/node-sudo

Like child_process.spawn but with sudo

Primary LanguageJavaScriptMIT LicenseMIT

node-sudo

A child_process.spawn but with sudo in between. The sudo password dialog is abstracted away so that the calling Node script can interact with the program that is run under sudo without worrying about it.

Synopsis

sudo(args, options)
  • args: An array of arguments to sudo. Can be both options (such as -v or -E) and the program to run. Example: ['ls'].

  • options: An optional object containing options. Recognized options are:

    • cachePassword: Boolean; whether to remember the password between invocations or not.

    • prompt: String; what to display to the user when the password is needed.

    • spawnOptions: Object; passed on directly to spawn. stdio or customFds will be overwritten.

Example

var sudo = require('sudo');
var options = {
    cachePassword: true,
    prompt: 'Password, yo? ',
    spawnOptions: { /* other options for spawn */ }
};
var child = sudo([ 'ls', '-l', '/tmp' ], options);
child.stdout.on('data', function (data) {
    console.log(data.toString());
});

License

MIT