提供厨师食谱的用户名和密码

时间:2013-09-24 15:36:05

标签: chef chef-recipe

我正在使用Chef的Windows食谱来配置一些Windows服务器。这是食谱:

# Windows SDK for Windows 7 and .NET 4 - .NET Tools v4
windows_package "Windows SDK for Windows 7 and .NET 4 - .NET Tools v4" do
    source "\\\\MyServer\\MyDrive\\chef\\WinSDKNetFx40Tools_amd64\\WinSDK_nfx40tools_amd64.msi"
    installer_type :msi
    action :install
end

问题是我在尝试访问该UNC路径时遇到了权限错误。是否可以为windows_package提供用户名/密码,以便我可以告诉谁可以访问该共享?我试图通过凭据管理器存储凭据,但这不起作用。

1 个答案:

答案 0 :(得分:0)

Windows不允许将凭据直接包含在UNC路径中。因此,在通过UNC路径访问文件时,似乎没有Chef支持进行身份验证。

Chef的mount资源支持挂载远程路径。它允许在Windows上传递用户名和密码。因此,您可以在windows_package调用之前安装UNC路径,然后引用已安装的驱动器路径而不是UNC路径。

未经测试的例子:

mount "Z:" do
  action :mount
  device "\\\\MyServer\\MyDrive\\chef\\WinSDKNetFx40Tools_amd64\\"
  username "whoever"
  password "whatever"
end

windows_package "Windows SDK for Windows 7 and .NET 4 - .NET Tools v4" do
    source "Z:\\WinSDK_nfx40tools_amd64.msi"
    installer_type :msi
    action :install
end

装载资源文档: http://docs.opscode.com/resource_mount.html

装载资源: https://github.com/opscode/chef/blob/807891d08dc5c436da237ec8a09639cea87a04fa/lib/chef/provider/mount/windows.rb#L60