mac命令行更改文件权限

在开发一些系统应用的时候,有时候需要让用户输入电脑密码,然后我们拿到密码对系统进行操作。

echo  userpassword | sudo -S chmod 777 path-or-dir

我们先知道了密码,然后在进行系统操作。是个什么场景呢?比如开发了一款更改hosts文件的小工具,但是更改hosts文件需要用户电脑密码授权。我们可以给用户弹个输入框接收密码,然后拿到密码就可以做各种操作了。

平常更改hosts文件的流程是:先进行了修改,然后系统提示你输入密码。

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;
    }
    
  })
});

更改过的文件权限信息如下

image.png

你可能感兴趣的:(mac命令行更改文件权限)