1、使用 sudo-prompt , 模块内部使用node 的child_process 的exec 方法,并调用linux安装的图形界面,进行授权。
npm install --save-dev sudo-prompt
使用:
const sudo= require('sudo-prompt')
var options = {
name: 'Electron',
icns: '/Applications/Electron.app/Contents/Resources/Electron.icns', // (optional)
};
sudo.exec('chmod -R 775 ./path',options,(error,stdout,stderr)=>{
if(error)console.log(error);
console.log(stdout)
})
备注:
在linux中直接调用 node 的原生命令获取管理员权限,要在终端输入密码,或者参考sudo-prompt 自己调用本系统安装的图形界面 发起弹窗授权。