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.