elevated
Version:
Check if script is executed with elevated permissions: using sudo on Linux or administrator rights on Windows
27 lines (20 loc) • 701 B
JavaScript
/**
* @author Cédric Tailly
* @description Check if script is executed in an elevated mode : with sudo on Linux and from an administrator account on Windows.
*/
const win32 = require("os").platform() == "win32";
module.exports.defaultMessage = win32 ? "Administrator privileges required" : "SUDO required";
module.exports.check = () => {
if (!win32)
return process.getuid() == 0 || !!process.env.SUDO_UID;
try {
require("child_process").execSync("net session", {stdio: "ignore"});
return true;
} catch (error) {
return false;
}
};
module.exports.required = message => {
if (!module.exports.check())
throw new Error(message ?? module.exports.defaultMessage);
};