无法在 AIX 节点上获取“源”类型中定义的路径

无法在 AIX 节点上获取“源”类型中定义的路径

我正在尝试在我的 AIX 节点上创建一组用户,并尝试获取他们的授权密钥,这些密钥已托管在我的服务器上,名称为“myuser_id_dsa.pub”。目前我管理 2 个节点(1. SLES 2. AIX)。我在 fileserver.conf 中的 2 个独立上下文中定义了“源”文件路径;

[AIX] 路径 myfiles/users/ssh/ 允许 *.another.mydomain.com [SLES] 路径 myfiles/users/keys/ssh/ 允许 *.mydomain.com

但是当我运行 puppet 时,它在我的 SLES 节点上成功结束,但在 AIX 上遇到失败;出现以下错误;

/* 无法描述 /AIX/myuser_id_rsa.pub:文件服务器模块‘AIX’未安装*/

在我的代码中,我使用 $filserver 变量将“源”定义为:

案例 $operatingsystem { “AIX”:{ $fileserver = “AIX” } 默认:{ $fileserver = “SLES” } }

文件 { “${home}/${username}/.ssh/authorized_keys”:源 => “puppet:///$fileserver/${username}_is_dsa.pub”, ... ... }

为什么 AIX 无法从我的 fileserver.conf 获取源路径,而 SLES 运行正常?我该怎么做?我必须在不同的服务器上运行类似的配置,所以我只能用 case 语句来处理它。

期待您的帮助

谢谢

答案1

思考在这种情况下,原因可能是源定义中有一个多余的“/”,根据文档,它必须符合:

puppet://server/path

三个“/”告诉 Puppet 使用 Puppetmaster 或默认服务器,在你的情况下会触发搜索

/AIX/username_is_dsa.pub

然而,puppet 文档让我感到困惑,我不知道客户端或服务器是否正在寻找 /AIX 挂载点...

无论如何,请尝试不使用 3-'/'。

答案2

我不确定它是什么不起作用,但我建议使用文件服务器模块公开的单一路径,并将所有内容都放在其中。

一种可能性是名为AIXshadowing fileserver mount 的模块。

相关内容