使用sudo甚至Capistrano的“载:use_sudo,假”(Capistrano using

2019-09-17 13:01发布

我不希望使用sudo任何我通过远程Capistrano的执行的命令。 特别是,当我运行cap deploy:setup ,我是第一个在问我输入sudo密码mkdir命令。 我补充set :use_sudo, false以我deploy.rb文件,但这并不有所作为。

我开始与一个相当完整的deploy.rb文件,但是又缩减,一旦我开始有问题。 这是我最小的版本仍显示use_sudo不受尊重:

# App Definitions

set :domain, '[server-ip]'
role :app, domain
role :web, domain
role :db, domain, :primary => true

set :user, "my_app"
set :use_sudo, false

task :sudo_test do
  run "#{try_sudo} whoami"
end

运行cap sudo_test在我结果被提示输入sudo的我的密码。 缺少什么我在这里(除了头发,我已经退出了)?

谷歌发现

https://groups.google.com/forum/?fromgroups#!topic/capistrano/QNYnvW8obrg

与具有类似问题的人一个线程。 没有结论/分辨率线程指出。

Answer 1:

对于其他人谁运行到这个问题,并为像我这样的傻瓜。 确保你arn't引用错误的。 我有:

set :use_sudo, "false"

当我把它切换到

set :use_sudo, false

大多数事情开始工作,我所期望的方式。 作为YWCA你好指出仍有忽略use_sudo设置命令。 但是,不要忘了正确设置。



Answer 2:

显然,这是不可能禁用某些Capistrano的任务sudo的功能。 其假设是,在服务器上的非特权用户不应该能够执行某些任务。

有问题的命令mkdir 。 我要说的却是未经授权的用户应该能够运行此命令,如果父文件夹是一个他们有权为做到这一点。 我还认为,用户可能实际上是特权用户,如根。 最佳实践? 不必要。 在合理范围内的某些部署的境界,是的。

这里是链接到响应我原来的问题:

https://github.com/capistrano/capistrano/issues/211#issuecomment-7667467



文章来源: Capistrano using sudo even with “set :use_sudo, false”