仅允许使用'sudo su - user'的Capistrano

5

我正在尝试在远程服务器上进行简单的Rails/Capistrano部署。不幸的是,我无法直接运行sudo命令。我需要在这里进行部署:

drwxr-xr-x 2 user   www       4096 Sep 28 15:05 my_app_dir

sudoers已经设置允许我运行sudo su - user,就这些。

从deploy.rb尝试将其强制转换为可用:

set :use_sudo, true
set :sudo, 'sudo su - user'  # fails due to bad su syntax, -c is inserted after user
set :sudo, 'sudo -u user'  # fails because it's not set up
set :sudo, 'sudo su - user -c' # also bad syntax
set :sudo_prompt, ''

我了解到最好的选择是:

  1. 启用无密码 sudo(建议在这里
  2. 启用 sudo -u user,应该与 set :sudo, 'sudo -u user' 一起使用

有没有办法让它现有的形式工作?


1
请注意,投票将其标记为“离题”的人:根据常见问题解答(FAQ),相关类型的问题包括“程序员常用的软件工具”。这将包括Capistrano。 带有“set: sudo”的代码是Ruby代码。 - jordanpg
1个回答

1

您尝试使用的用户是否已添加到服务器上的sudoers配置文件中? 请尝试以下操作

run "#{sudo :as => 'bob'} mkdir /path/to/dir"

来源


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接