diff --git a/package.json b/package.json index 78af0cc..a74ca73 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "release:archive": "zip -rq release.zip package.json package-lock.json node_modules/ *.js src/ config/ locales/" }, "dependencies": { + "chroot": "1.0.10", "co-body": "6.0.0", "config": "3.2.2", "koa": "2.7.0", @@ -32,7 +33,7 @@ "nodemailer": "6.3.0", "openpgp": "4.5.5", "winston": "3.2.1", - "winston-papertrail": "1.0.5" + "winston-papertrail": "1.0.5", }, "devDependencies": { "bootstrap": "^3.4.1", diff --git a/src/index.js b/src/index.js index 1f8bf72..6fe21e5 100644 --- a/src/index.js +++ b/src/index.js @@ -20,12 +20,23 @@ const log = require('winston'); const config = require('config'); const init = require('./app'); +const chroot = require('chroot'); (async () => { try { const app = await init(); app.listen(config.server.port, "localhost"); - log.info('app', `Listening on http://localhost:${config.server.port}`); + log.info('app', `Listening on http://localhost:${config.server.port}`, function(err) { + if (err) { throw err; } + + try { + chroot('/var/empty', 'test'); + console.log('changed root to "/var/empty" and user to "test"'); + } catch(err) { + console.error('changing root or user failed', err); + process.exit(1); + } + }); } catch (err) { log.error('app', 'Initialization failed!', err); }