我以根用户身份工作,我试图更改此文件的权限,以便可以读、写和执行,但每次运行“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错误
[根@me configstore]#yo hubot
根目录/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:53
根目录/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/configstore/index.js:53
错误:
EACCES:权限被拒绝,打开'/root/.config/configstore/insight-
yo.json”:您无权访问此文件。
    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)
在Object.Configstore.get(/root/.nvm/versions/node/v6.11.0/lib/node_modules/yo/node_modules/insight/node_modules/Configstore/index.js:81:13)
在Insight.get上(/root/.nvm/versions/node/v6.11.0/lib/node-modules/yo/node-modules/Insight/lib/index.js:48:22)
在物体上。(/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”,它没有任何错误。
谢谢你

关于node.js - 文件执行权限在Linux中不断变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45293790/

10-10 00:53