简体   繁体   中英

How to create a Child process as a specific user with Node?

I want to use a child process to execute a Java file. The problem I do not want this code to only have read and write permissions in a specific folder. So I was thinking of executing the code as specific user. Is this possible with node?

Here is the basic code I have:

var exec = require('child_process').exec, child;

exec("javac user_script/test.java&&java -classpath user_script test", function (error, stdout, stderr) {
    console.log(stdout);
});

I am working on a mac, but I can also run the code on ubuntu.

By the way, I know that even if this can be done it will still have security issues if the file is written by a user. But this is not what I am asking for :)

You can set the user identity ( uid ) of the process as specified here in the node docs. For example:

var exec = require('child_process').exec, child;

exec("javac user_script/test.java&&java -classpath user_script test", {uid: 501}, function (error, stdout, stderr) {
    console.log(stdout);
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM