【发布时间】:2018-01-31 10:49:06
【问题描述】:
我正在尝试使用 Chef 12 将 pm2 和 pm2-logrotate 安装为非 root 用户(特别是使用 nginx 用户)
我全局安装了 pm2
[root@~] npm install -g pm2
然后我注册了pm2启动脚本以nginx用户身份运行
[root@~] pm2 startup -u nginx --hp /home/nginx systemd
然后我想为作为 nginx 用户运行的 pm2 进程安装 pm2-logrotate
以下工作:pm2-logrotate安装正确,/home/nginx/.pm2/logs下的日志轮转
script "pm2_logrotate" do
interpreter 'bash'
code <<-EOH
su nginx -c "pm2 install pm2-logrotate@2.4.0"
EOH
end
但如果我尝试通过为脚本资源指定“nginx”用户来安装 pm2-logrotate,我会收到错误
script "pm2_logrotate" do
interpreter 'bash'
user "nginx"
code <<-EOH
pm2 install pm2-logrotate@2.4.0
EOH
end
错误
[PM2][Module]调用[NPM]安装pm2-logrotate@2.4.0 ... ==> 默认:错误:EACCES:权限被拒绝,mkdir '/root/.pm2/modules/pm2-logrotate'
为什么会有不同的行为?谢谢
【问题讨论】:
标签: npm permissions chef-infra centos7 pm2