【问题标题】:How to deploy capistrano sidekiq monit with correct permission如何在正确的权限下部署 capistrano sidekiq monit
【发布时间】:2016-01-01 11:06:42
【问题描述】:

问题是当我将 monit 与 capistrano 一起使用时。我的错误是什么?

INFO [843c196b] Running /usr/bin/env sudo mv /tmp/monit.conf /etc/monit/conf.d/sidekiq_admin-api_production.conf as deployer@XXXXXXXXXX
DEBUG [843c196b] Command: ( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.2.3 /usr/bin/env sudo mv /tmp/monit.conf /etc/monit/conf.d/sidekiq_admin-api_production.conf )
DEBUG [843c196b]    sudo: no tty present and no askpass program specified
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deployer@XXXXXXXXXX: sudo exit status: 1
sudo stdout: Nothing written
sudo stderr: sudo: no tty present and no askpass program specified

我尝试了 ssh 密钥授权。

为我的用户更改文件夹的权限 (/tmp/monit.conf /etc/monit/conf.d/)

设置:pty,假

设置:use_sudo,假

sudo 文件

我的 sudo 文件是:

# User privilege specification
root    ALL=(ALL:ALL) ALL
deployer ALL=(ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

【问题讨论】:

    标签: ruby-on-rails-4 sidekiq capistrano3 monit sidekiq-monitor


    【解决方案1】:

    您需要添加一个 sudo 指令,该指令允许命令在不输入密码的情况下运行。该错误告诉您 sudo 正在尝试询问密码并且不能。可能是 NOPASSWD 命令。

    【讨论】:

    • 好吧,我改成 %sudo ALL=(ALL) NOPASSWD:ALL, It worker =D
    • 如果这解决了您的问题,请将其标记为答案。谢谢!
    【解决方案2】:

    在 capistrano 3 中,您需要设置 pty.在不输入密码的情况下允许服务器上的 sudo 命令可能会给您的服务器带来风险。

    set :pty, true
    

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2014-10-21
      • 2011-05-15
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 2012-10-03
      相关资源
      最近更新 更多