From 8b899bbf4553d35c76aac09db94bc9bfd74f4174 Mon Sep 17 00:00:00 2001 From: John Medland Date: Mon, 14 Nov 2016 17:19:44 +0000 Subject: [PATCH 1/2] Updated winsw and added support to specify the user to execute the service as. --- .gitignore | 1 + bin/winsw/x64/winsw.exe | Bin 36352 -> 62664 bytes example/helloworld.js | 5 ++--- example/install.js | 7 ++++++- lib/daemon.js | 3 ++- lib/winsw.js | 9 +++++++++ 6 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4ef0b67..cb8b3c1 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ .DS_Store/ npm-debug.log node_modules/ +example/daemon/ diff --git a/bin/winsw/x64/winsw.exe b/bin/winsw/x64/winsw.exe index 6267ef2b981daf9044839b2525da9d23a3171113..dde94fb23863abe09ec8137eb0ee2b1a2ac259e7 100644 GIT binary patch literal 62664 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 literal 36352 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' + config.serviceAccount.domain + '' : ''; + xml += '' + config.serviceAccount.user + '' + + '' + config.serviceAccount.password + '' + + 'true'; + } + xml += ""; return xml; From 534814c096a60b5a686f5a4e6206cee89291843c Mon Sep 17 00:00:00 2001 From: John Medland Date: Mon, 14 Nov 2016 17:27:36 +0000 Subject: [PATCH 2/2] Updated readme and restored script path in example --- README.md | 16 ++++++++++++++++ example/helloworld.js | 2 +- example/install.js | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f8f9137..b610efa 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,22 @@ var svc = new Service({ }); ``` +### Setting the Service Account +The user account under which the service executes can be specified in the config as shown below: + +```js +// Create a new service object +var svc = new Service({ + name:'Hello World', + description: 'The nodejs.org example web server.', + script: 'C:\\path\\to\\helloworld.js', + serviceAccount:{ + domain:'domain', + user:'username', + password:'password' + } +}); +``` ### User Account Attributes diff --git a/example/helloworld.js b/example/helloworld.js index d5a4bc4..ee1b23c 100644 --- a/example/helloworld.js +++ b/example/helloworld.js @@ -1,7 +1,7 @@ var http = require('http'); var server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); - res.end(process.env['USERNAME']); + res.end('hello from ' + process.env['USERNAME']); }); server.listen(3000, '127.0.0.1'); diff --git a/example/install.js b/example/install.js index cf1ee63..866954a 100644 --- a/example/install.js +++ b/example/install.js @@ -4,7 +4,7 @@ var Service = require('../').Service; var svc = new Service({ name:'Hello World', description: 'The nodejs.org example web server.', - script: require('path').join(__dirname, 'helloworld.js'), + script: require('path').join('C:\path\to', 'helloworld.js'), env:{ name: "NODE_ENV", value: "production"