【问题标题】:How do I get Chef to find an Active Directory User?如何让 Chef 找到 Active Directory 用户?
【发布时间】:2019-03-11 01:12:01
【问题描述】:

错误:

Chef::Exceptions::UserIDNotFound
--------------------------------
cannot determine user id for 'builduser', does the user exist on this system?

这是我的(修剪过的)厨师食谱:

if node['platform'] == 'centos'
  package 'yum-utils'
  execute 'yum-config-manager --enable cr'
end

include_recipe "python::source"

...

## Setup key for jenkins... https://supermarket.chef.io/cookbooks/ssh_authorized_keys
ssh_authorize_key 'builduser@supermarket.com' do
    key 'AAAAB3Nz...hiOQ=='
    user 'builduser'
    group 'builduser'
end

这个用户不是由这个配方创建的,但已经存在于这个 CentOS 虚拟机连接到的 Active Directory 中。

有人知道如何告诉厨师从 Active Directory 中读取此内容吗?

提前致谢

【问题讨论】:

    标签: active-directory centos chef-infra


    【解决方案1】:

    您可能遇到了可怕的“nsswitch.conf reload”问题。它是第二次工作还是总是失败?如果它第二次工作,可能是因为 /etc/nsswitch.conf 仅在该 Chef 运行的早期更新,并且由于 libc 缓存 nsswitch 数据库配置的方式,在 Chef 进程重新启动之前这些更改将不可见。如果总是失败,请检查机器是否具有正确的 nsswitch 配置以使 AD 用户可见。仅在 PAM 上链接到 AD 不足以使用户条目起作用。

    【讨论】:

    • 第二次没有失败,但也没有成功。两个问题: (1) 它创建了 /home/builduser 而不是 AD 中配置的 HOME (/home/orgz_test/builduser)。 (2) 它所触及的一切都归root所有!我认为这是 ssh_authorize_key 配方的问题。我已经向他们提出了问题。
    • 该定义似乎有一些时髦的后备代码假定 /home,检查 Chef 是否打印任何警告。
    【解决方案2】:

    我的解决方法/解决方案是创建 root 拥有的文件资源,然后将它们 chown 给用户。不知怎的……chown 似乎对 AD 没有问题。

    file '/home/orgz_test/builduser/.ssh/authorized_keys' do
      content 'ssh-rsa AAAAB3Nz...hiOQ== builduser@supermarket.com'
      mode '0644'
    end
    
    # user and group setting in 'file' or 'directory' does not work... so, do it manually
    bash "Change ownership" do
        user "root"
        group "root"
        code <<-EOC
            chown builduser /home/orgz_test/builduser/.ssh/authorized_keys
            chgrp builduser_g /home/orgz_test/builduser/.ssh/authorized_keys
            chmod 600 /home/hedgeservtest.com/cashmgmt/.ssh/authorized_keys
        EOC
    end
    

    不是最漂亮的解决方案..但有效。

    【讨论】:

    • chown 有效,因为它创建了一个使用新 nsswitch 设置的新进程
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 2015-09-26
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    相关资源
    最近更新 更多