# sudo

> Wrap sudo with optional password cache

Latest version **1.0.3** (published 2012-10-29) · 0 weekly downloads

## Install

```sh
npm install sudo
pnpm add sudo
yarn add sudo
bun add sudo
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2012-10-29 |
| First published | 2012-08-15 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.8 |
| Dependencies | 3 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 26 |
| Author | Jakob Borg |
| Maintainers | calmh |

## Links

- npm: https://www.npmjs.com/package/sudo
- Repository: https://github.com/calmh/node-sudo
- npm.io page: https://npm.io/package/sudo

## Dependencies (3)

- [read](https://npm.io/package/read.md) ~1.0.3
- [pidof](https://npm.io/package/pidof.md) ~1.0.2
- [inpath](https://npm.io/package/inpath.md) ~1.0.2

## Recent versions

- 1.0.3 (latest) — 2012-10-29
- 1.0.2 — 2012-08-15
- 1.0.1 — 2012-08-15
- 1.0.0 — 2012-08-15

## README

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
--------

```javascript
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
-------

```javascript
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

---
_Source: https://npm.io/package/sudo · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
