Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查Linux系统上的哪个用户?_Javascript_Node.js - Fatal编程技术网

Javascript 如何检查Linux系统上的哪个用户?

Javascript 如何检查Linux系统上的哪个用户?,javascript,node.js,Javascript,Node.js,有必要检查程序的工作方式,如果是从根用户开始,则继续执行代码;如果是从普通用户开始,则通过子进程运行bash命令?检查脚本是否是使用您可以使用的根用户执行的 例如,我想看看: const os = require("os"); let userInfo = os.userInfo(); console.log("User info:", userInfo); // Root user uid will always be 0 if (userInfo.uid === 0) { cons

有必要检查程序的工作方式,如果是从根用户开始,则继续执行代码;如果是从普通用户开始,则通过子进程运行bash命令?

检查脚本是否是使用您可以使用的
根用户执行的

例如,我想看看:

const os = require("os");

let userInfo = os.userInfo();
console.log("User info:", userInfo);
// Root user uid will always be 0
if (userInfo.uid === 0) {
    console.log("User is root.")
}

这将为您提供用户名、uid、gid、shell和homedir等详细信息。

谢谢,但如果用户不是root用户,则我需要执行此git克隆代码torrent;cd洪流;npm安装;npm运行包,也就是说,结果是这样的?'var exec=require('child_process')。行政长官,儿童;if(process.getuid()==0)child=exec('git clone torrent;cd torrent;npm install;npm run package',函数(error,stdout,stderr){console.log('stdout:'+stdout);console.log('stderr:'+stderr);if(error!==null){console.log('exec error:'+error);});child();'根据
.getuid
的结果执行一项或另一项操作。。。只要
if/else
。检查更新的应答是的,但是如何确保在应用程序启动时,首先执行此命令,然后执行所有其他命令,以及如何执行?例如:
if(process.getuid()==0){console.log('root user');//do something}else{console.log('No root user')exec('bash-cgit克隆)https://github.com/**“,函数(error,stdOut,stdErr)}
如果exec命令不起作用,则应用程序终止
const os = require("os");

let userInfo = os.userInfo();
console.log("User info:", userInfo);
// Root user uid will always be 0
if (userInfo.uid === 0) {
    console.log("User is root.")
}