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.