文件执行权限在 Linux 中不断变回

File execute permission keeps changing back in Linux

我以 root 身份工作,我试图更改此文件的权限以便我可以读取、写入和执行,但每次我 运行 'yo hubot' 它都会变回来。

chmod -v u=rwx /root/.config/configstore/insight-yo.json
mode of â/root/.config/configstore/insight-yo.jsonâ changed from 0400 (r----
----) to 0700 (rwx------)
[root@me configstore]# ll
total 8

此处权限发生变化

-rwx------. 1 root root 30 Jul 24 21:38 insight-yo.json
-rwxr-xr-x. 1 root root 55 Jul 24 21:24 update-notifier-npm.json

然后我 运行 "yo" 命令抛出 EACCES 错误

[root@me configstore]# yo hubot root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:53 root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:53

错误:

EACCES: permission denied, open '/root/.config/configstore/insight- yo.json' : You don't have access to this file.

    at Error (native)
    at Object.fs.openSync (fs.js:641:18)
    at Object.fs.readFileSync (fs.js:509:33)
    at Object.get

(/root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:34:26) at Object.Configstore.get (/root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:81:13) at Insight.get (/root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/lib/index.js:48:22) at Object. (/root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/lib/cli.js:194:47)

at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)`

我再次检查该文件,发现它变回来了

[root@me configstore]# ll
total 8
-rw-------. 1 root root 30 Jul 24 21:45 insight-yo.json
-rwxr-xr-x. 1 root root 55 Jul 24 21:24 update-notifier-npm.json`

我发现问题出在 'yo' 而不是文件本身,'yo' 显然不能 运行 因为 'root' 所以 运行 'yo' 作为另一个用户,它没有任何错误。

谢谢