node.js - 文件执行权限在 Linux 中不断变回

标签 node.js linux centos7 hubot yo

我以 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”并且它没有任何错误。

谢谢

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

相关文章:

javascript - gulp-foreach 不循环遍历所有文件

linux - 使用 openssl 作为命令行计算 AES128 CMAC

centos - ceph mds服务启动centos 7失败

sql-server - 为什么我不能在 Linux MSSQL 上一行输入我的用户、密码和服务器,但我可以单独输入?

node.js - Nodejs Express sendStatus 错误

node.js - 为什么这个 bluebird pg 代码挂起?

javascript - 无法通过将值字段和集合名称作为 Node js中的参数传递来从mongodb获取记录

c - 重新附加到 Linux 中的进程

javascript - php:在服务器端事件上推送新数据

linux - Linux 中的 Vmware 服务器安装