【问题标题】:switch chef-client user during bootstrap在引导期间切换 chef-client 用户
【发布时间】:2015-03-14 07:12:10
【问题描述】:

我写了一个安装 Aegir 的方法。我想用 aegir 配方在 aws 上引导一个新实例,安装顺利,但无法执行“drush hostmaster-install”,因为它抛出“Drupal 安装未找到”错误。

当我手动进入机器并使用 aegir 用户运行厨师客户端时,它安装顺利。

使用 ubuntu 用户 ssh 到 ec2 sudo su - aegir 须藤厨师客户

但是当我使用 ubuntu 用户引导新实例时,安装失败。我很欣赏任何将用户切换到运行 Chef 客户端的想法。

执行“apt-get-update”做 命令“sudo apt-get 更新” 结尾 %w{curl apache2 php5 libapache2-mod-php5 openssl php-pear php5-cli php5-common php5-curl php5-dev php5-gd php5-imagick php5-imap php5-intl php5-mcrypt php5-memcache php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-tidy php5-gd php5-xmlrpc php5-xsl apache2-utils postfix rsync sudo libcurl3 libcurl3-gnutls mysql-client mysql-common}.each do |x| 包 x 做 行动:安装 结尾 结尾 用户“aegir”做 动作:创建 支持:manage_home => true 评论“aegir 用户” 主页 "#{node[:aegir][:dir]}" 外壳“/bin/bash” 密码“VenEucAf1” 结尾 组“www-data”做 行动:修改 成员“aegir” 追加真 结尾 bash“install_mysql”做 用户“根” 代码 /etc/sudoers.d/aegir chmod 440 /etc/sudoers.d/aegir EOH not_if { ::File.exists?("/etc/sudoers.d/aegir") } 结尾 bash“Install_drush”做 用户“根” cwd "/var/aegir" 代码 '/var/aegir', 'USER' => 'aegir' }) cwd "#{node[:aegir][:dir]}" 命令为真,:restart => 真,:reload => 真 行动:开始 结尾

更新了我的完整食谱。

错误:用户 aegir 不存在

【问题讨论】:

    标签: drupal-6 chef-infra chef-recipe aegir


    【解决方案1】:

    听起来您可能需要设置HOME 环境变量。您可以将其添加到执行资源中:

    execute 'drush hostmaster-install' do
      user 'aegir'
      environment 'HOME' => '/home/whatever'
    end
    

    【讨论】:

    • 我在安装 aegir 的同一个 bash 脚本中启用了它。 bash "Install aegir" do user "aegir" group "www-data" environment ({'HOME' => "#{node[:aegir][:dir]}"}) cwd "#{node[:aegir][ :dir]}" 代码
    • 然后检查其他环境变量。
    • @SwaroopKundeti 你的执行资源中是否也有user "aegir" 属性? (如果是这样,该脚本应该与该用户一起启动,但是当您为手动测试执行su - 时,您可能会加载一些我们无法猜测的其他环境变量。(一个很好的确认测试是@987654325 @)
    • @Tensibal,我的测试成功了“sudo su - aegir && sudo chef-client”。我已经用完整的食谱更新了问题
    猜你喜欢
    • 2020-02-14
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多