设置文件的自定义权限并从JS中的模式文件夹继承所有权

时间:2019-07-03 14:15:58

标签: node.js file-permissions shelljs

在JS中写入文件后,我需要设置自定义权限并从父目录继承所有权。我习惯于shelljs运行命令。

我正在运行以下命令以获得父目录的所有者和组:

const ownerGroup = shelljs.exec('ls -la ../ | grep -e "`basename $(pwd)`$" | awk \'{print $3, $4}\'').split(' ');

设置权限和所有权的命令如下:

const owner = ownerGroup[0];
const group = ownerGroup[1];
shelljs.exec(`sudo chown ${owner}:${group} ${process.env.CONFIG_FILE}`);
shelljs.exec(`sudo chmod 660 ${process.env.CONFIG_FILE}`);

文件路径位于process.env.CONFIG_FILE中。我遇到chown的问题,因为看不到文件路径。该命令的结构正确,但是路径转移到了新行。

COMMAND ->  sudo chown yury.stanev:yury.stanev
/home/yury.stanev/menlolab/runner/config.json
chown: missing operand after ‘yury.stanev:yury.stanev’
Try 'chown --help' for more information.

1 个答案:

答案 0 :(得分:0)

通过不使用cmd替换任何换行符来解决。

const cmd = `sudo chown ${owner}:${group} ${process.env.CONFIG_FILE}`.replace('\n', '');