Chrooting of server.

feature-chroot
Simon Vareille 2020-02-15 19:39:35 +01:00
parent c70e35b018
commit 3aef0da7a0
No known key found for this signature in database
GPG Key ID: 008AE8E706CC19F9
2 changed files with 14 additions and 2 deletions

View File

@ -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",

View File

@ -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);
}