在開(kāi)發(fā)一些系統(tǒng)應(yīng)用的時(shí)候折剃,有時(shí)候需要讓用戶輸入電腦密碼镶奉,然后我們拿到密碼對(duì)系統(tǒng)進(jìn)行操作。
echo userpassword | sudo -S chmod 777 path-or-dir
我們先知道了密碼莹捡,然后在進(jìn)行系統(tǒng)操作鬼吵。是個(gè)什么場(chǎng)景呢?比如開(kāi)發(fā)了一款更改hosts文件的小工具篮赢,但是更改hosts文件需要用戶電腦密碼授權(quán)齿椅。我們可以給用戶彈個(gè)輸入框接收密碼,然后拿到密碼就可以做各種操作了启泣。
平常更改hosts文件的流程是:先進(jìn)行了修改涣脚,然后系統(tǒng)提示你輸入密碼。
const child_process = require("child_process");
const prompt = require("prompt");
prompt.start();
var schema = {
properties: {
password: {
description: "Enter your password",
replace: "*",
hidden: true
}
}
};
prompt.get(schema, (err, result) => {
if (err) {
throw err;
}
child_process.exec(`echo ${result.password} | sudo -S chmod 777 ./src/test.js`, (error, res) => {
if (error) {
throw error;
}
})
});
更改過(guò)的文件權(quán)限信息如下
image.png