node.js - 检测是否有 sudo 正确的信息

标签 node.js

是否有可能在我运行时检测到我有正确的 sudo

node app.js

我希望当我运行命令时

sudo node app.js

它会告诉我 app.js Node 正在使用正确的 sudo 运行。

最佳答案

我无法确保这是正确的,因为我目前无法对其进行测试,但如果我没记错的话,您应该能够使用 process< 中的 getuid() 函数 包 ( Documentation ).
(注意:这仅适用于 POSIX 平台,这意味着不适用于 Windows)

当您以 super 用户权限运行命令时,这应该返回 "root"

重要您永远不应该运行具有 super 用户权限的 Node 之类的网络服务器。如果您需要某些设置工作的权限,您应该在初始化工作结束时通过执行以下操作来恢复授予的 root 权限:

var uid = parseInt(process.env.SUDO_UID);
if (uid) process.setuid(uid);

关于node.js - 检测是否有 sudo 正确的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23884667/

相关文章:

javascript - webdriverio waitUntil 和 getUrl 与模式

javascript - 在 Node.js 应用程序中引用自定义架构时出错

javascript - 如何使用 Node.js 生成文件

node.js - Express 3、Apache 代理和基本路径

node.js - Node 空间 点命令 Node JS

node.js - Webfaction 中 Node.Js/Express 应用程序的 SSL 证书?

javascript - Particle.js + Node + Express - 无法加载资源

javascript - 异步文件读取时出现 EMFILE 错误

javascript - 访问行中带有多个冒号的嵌套 JSON 键

node.js - 如何使用 NestJS 序列化返回 id 字符串而不是 _bsontype