- 木偶教程
- 木偶 - 主页
- 基础木偶
- 木偶 - 概述
- 木偶 - 建筑
- 傀儡 - 安装
- 木偶 - 配置
- Puppet - 环境会议
- 木偶大师
- Puppet - 代理设置
- Puppet - SSL 签名证书设置
- 安装和配置 r10K
- Puppet - 验证设置
- Puppet - 编码风格
- Puppet - 清单文件
- 木偶 - 模块
- Puppet - 文件服务器
- 木偶 - 事实与事实
- 高级傀儡
- 木偶 - 资源
- Puppet - 资源抽象层
- 木偶 - 模板
- 木偶 - 课程
- 木偶 - 功能
- Puppet - 自定义函数
- 木偶 - 环境
- 木偶 - 类型和提供者
- Puppet - RESTful API
- 木偶 - 现场项目
- 木偶有用资源
- 木偶 - 快速指南
- 木偶 - 有用的资源
- 木偶 - 讨论
Puppet - 文件服务器
Puppet 遵循客户端和服务器的概念,其中设置中的一台计算机作为服务器计算机,在其上运行 Puppet 服务器软件,其余计算机作为客户端,在其上运行 Puppet 代理软件。文件服务器的此功能有助于在多台计算机上复制文件。Puppet 中文件服务功能的这一特性是中央 Puppet 守护进程的一部分。Puppetmasterd 和客户端功能在获取文件属性作为文件对象方面发挥着关键作用。
class { 'java': package => 'jdk-8u25-linux-x64', java_alternative => 'jdk1.8.0_25', java_alternative_path => '/usr/java/jdk1.8.0_25/jre/bin/java' }
如上面的代码片段所示,Puppet 的文件服务函数通过支持文件服务模块来抽象本地文件系统拓扑。我们将通过以下方式指定文件服务模块。
“puppet://server/modules/module_name/sudoers”
文件格式
在 Puppet 目录结构中,默认情况下文件服务器配置位于/etc/puppet/fileserver.config目录下,如果用户希望更改此默认配置文件路径,可以使用puppetmasterd 的新配置标志来完成。配置文件类似于 INI 文件,但并不完全相同。
[module] path /path/to/files allow *.domain.com deny *.wireless.domain.com
如上面的代码片段所示,所有三个选项都在配置文件中表示。模块名称有点放在括号中。路径是唯一必需的选项。默认安全选项是拒绝所有访问,因此如果未指定允许行,则将配置的模块将可供任何人使用。
该路径可以包含%d、%h 和%H 中的任何一个或全部,这些%d、%h 和%H 会动态替换为其域名、主机名和完全限定主机名。所有这些都取自客户端的 SSL 证书(因此,如果主机名和证书名称不匹配,请小心)。这对于创建每个客户端的文件完全分开保存的模块很有用。例如,对于私有主机密钥。
[private] path /data/private/%h allow *
在上面的代码片段中,代码尝试从客户端client1.vipin.com搜索文件 /private/file.txt 。它将在 /data/private/client1/file.txt 中查找它,而对 client2.vipin.com 的相同请求将尝试在文件服务器上检索文件 /data/private/client2/file.txt 。
安全
Puppet 支持 Puppet 文件服务器上保护文件的两个基本概念。这是通过允许访问特定文件并拒绝访问不需要的文件来实现的。默认情况下,Puppet 不允许访问任何文件。它需要明确定义。文件中允许或拒绝访问的格式是使用 IP 地址、名称或全局允许。
如果客户端未直接连接到 Puppet 文件服务器(例如使用反向代理和 Mongrel),则文件服务器会将所有连接视为来自代理服务器而不是 Puppet 客户端。在上述情况下,基于主机名限制主机名是最佳实践。
定义文件结构时需要注意的一个关键点是,所有的拒绝语句都在允许语句之前解析。因此,如果任何拒绝语句与主机匹配,则该主机将被拒绝,如果后续文件中没有写入允许语句,则该主机将被拒绝。此功能有助于设置任何特定站点的优先级。
主机名
在任何文件服务器配置中,可以通过两种方式指定文件主机名:使用完整主机名或使用 * 通配符指定整个域名,如以下示例所示。
[export] path /usr allow brcleprod001.brcl.com allow *.brcl.com deny brcleprod002.brcl.com
IP地址
在任何文件服务器配置中,可以使用完整的 IP 地址或通配符地址将文件地址指定为类似于主机名。还可以使用 CIDR 系统表示法。
[export] path /usr allow 127.0.0.1 allow 172.223.30.* allow 172.223.30.0/24
全局允许
当用户希望每个人都可以访问特定模块时,使用全局允许。为此,单个通配符有助于让每个人访问该模块。
[export] path /export allow *