跳转到主要内容

ploy的插件,用于使用ezjail配置FreeBSD监狱。

项目描述

概述

ploy_ezjail插件提供了将ezjailploy集成,以便管理FreeBSD监狱。

安装

ploy_ezjail最好使用easy_install、pip或buildout中的zc.recipe.egg进行安装。

主服务器

要使用ploy_ezjail,您需要一个运行FreeBSD的主机,您想要在上面管理监狱。

您可以使用[ez-master:masterid]声明一个主服务器,其中masterid是您想要为这个主服务器使用的名称。现在您可以为ploy实例添加选项,或者可以使用instance选项来引用配置中的另一个实例,如下所示

[ez-master:master1]
host = myhost.example.com

[plain-instance:foohost]
host = foohost.example.com

[ez-master:master2]
instance = foohost

后者与其它ploy后端插件结合使用最为有用,因为它允许您轻松地在提供者之间切换,即在开发期间在VirtualBox上部署一个ez-master,在生产环境中部署一个普通实例。

选项

debug-commands

如果设置为yes,则在主机上执行的操作将在本地回显。

instance

用于此主机的实例。如果为空,则使用本地机器,无需ssh连接。

ezjail-admin

主机上ezjail-admin脚本的路径。默认为/usr/local/bin/ezjail-admin

sudo

使用sudo在主机上运行命令。

ezjail-use-one-prefix

startstop命令使用单个前缀。当在/etc/rc.conf中设置ezjail_enable="NO"时,这很有用。可选

实例

目前所有jail都将使用ZFS(ezjail-admin-c zfs选项)创建,因此主机需要相应地设置。

选项

ip

用于jail的IP地址。

这可以是单个IPv4地址

ip = 10.0.0.3

或连接到不同设备的任意数量的IPv4和IPv6地址

ip = lo1|10.0.0.3,vtnet0|2a03:b0c0:3:d0::3a4d:c002

后者格式是ezjail的必需

ezjail-flavour

用于此jail的口味。这在上ezjail文档中有解释。

ezjail-name

用于jail的名称。默认情况下使用实例的id。

mounts

jail的附加挂载点。您可以每行指定一个挂载点。格式为

src=SRC dst=DST [ro=true] [create=true]

其中src是主机上的路径,dst是jail内的路径。

如果ro设置为true,则挂载为只读。

当启用create时,则使用mkdir -p创建src路径。dst路径始终在jail内部使用mkdir -p创建。

您可以使用{zfs[name]}src中引用ZFS分区,其中nameez-zfs分区名称。您可以在srcdst中都使用jail实例的名称{name}。示例

src=/foo dst=/foo
src={zfs[backup]} dst=/bak
src={zfs[data]}/{name} dst=/mnt/data create=true
src={zfs[static]} dst=/mnt/static ro=true
no-terminate

如果设置为yes,则jail不能通过ploy终止,直到将设置更改为no或完全删除。

startup_script

本地脚本(相对于配置文件的位置)的路径,该脚本将在jail创建和第一次启动后立即运行。

rc_require

表示此jail需要启动哪些其他jail的字符串,从而有效地允许您定义jail的启动顺序。有关更多信息,请参阅rcorder(8)。此值在每次jail启动时都会写入,而不仅仅是创建时,因此要使更改生效,只需重新启动即可。可选

rc_provide

表示此jail提供什么的字符串。 ezjail 本身始终将其jails设置为提供 standard_ezjail,其中 ploy_ezjail 添加jail的名称。换句话说,如果您只想使用jail的名称来构建启动顺序,则不需要设置此值。如果您想为此jail提供任何其他值,请在此处设置。此值在jail每次启动时都会写入,而不仅仅是创建初始时,因此要使更改生效,只需重新启动即可。 可选

rc_before

表示此jail应在哪些其他jail之前启动的字符串,从而有效地允许您定义jail的启动顺序。有关详细信息,请参阅 rcorder(8)。此值在jail每次启动时都会写入,而不仅仅是创建初始时,因此要使更改生效,只需重新启动即可。 可选

jail_*

允许设置特定于jail的设置。例如,使用 jail_devfs_ruleset="5" 为此jail使用devfs规则集编号5。有关详细信息,请参阅 man ezjail “Per-Jail options”(从选项名称中省略 JAILNAME 部分)。 可选

ZFS 部分

您可以通过 [ez-zfs:name] 部分指定 ZFS 文件系统。这用于jail的挂载,以获取挂载点和验证路径是否存在以及它是否是自己的ZFS文件系统。您还可以使用 create 选项创建新的ZFS文件系统。

选项

create

如果设置为 yes,则文件系统在首次使用时创建。

path

指定此文件系统的路径。这不是挂载点,而是ZFS路径。您可以使用 {zfs[name][path]} 引用其他ZFS部分。 name 是引用的ZFS部分的名称。末尾的 [path] 是必需的,否则您将获得引用的ZFS部分的挂载点。示例

[ez-zfs:data]
path = tank/data

[ez-zfs:shared]
path = {zfs[data][path]}/shared

[ez-zfs:jails]
path = {zfs[data][path]}/jails

[ez-zfs:backup]
create = true
path = tank/backup

更改日志

2.0.0 - 2022-08-17

  • 删除了对Python 3.6的支持。[fschulze]

  • 添加了对Python 3.10的支持。[fschulze]

  • 添加 rc_before 选项。[fschulze]

  • 添加对特定于jail的设置的支持。[fschulze]

  • 添加 ezjail-use-one-prefix 选项。[fschulze]

  • flavour 选项重命名为 ezjail-flavour。旧的选项仍然有效,但将来将弃用。[fschulze]

2.0.0b4 - 2021-07-16

  • 修复了从ezjail命令报告错误时的Python 3.x编码错误。[fschulze]

  • 使用完整的实例名称进行 init_ssh_key 登录,以便在多个主实例的情况下更容易进行调试。[fschulze]

2.0.0b3 - 2020-05-13

  • 修复了Python 3.的ZFS部分。[fschulze]

2.0.0b2 - 2019-06-09

  • 一些Python 3.x编码相关修复。[fschulze]

  • 删除对Python 3.4的支持。[fschulze]

2.0.0b1 - 2018-02-07

  • 支持ploy 2.0.0。[fschulze]

1.5.1 - 2018-02-03

  • 通过将名称中的点替换为下划线修复了FreeBSD 11.x的启动脚本。[fschulze]

1.5.0 - 2017-12-17

  • 添加 get_fingerprints 以支持所有密钥类型的宿主密钥。[fschulze]

  • 修复了各种情况下的jail宿主 status 命令。[fschulze]

  • 在多个错误上输出stdout以及stderr。这可以让一个人在jail无法启动时看到额外的调试信息。[fschulze]

1.4.0 - 2015-10-16

  • 允许通过 ezjail-name 设置jail名称,而不是使用实例ID作为默认值。[fschulze]

1.3.0 - 2015-09-03

  • 通过提供有用的错误消息而不是跟踪信息来改进错误处理。[fschulze]

  • 允许设置jail的启动顺序。[tomster]

1.2.0 - 2015-03-05

  • 从ploy 1.2.0版本开始使用新的Executor辅助程序,该程序可以处理SSH代理转发。[fschulze]

  • 启用“本地模式”,如果instance选项为空,所有命令都在本地执行。[fschulze]

1.1.0 - 2014-10-27

  • 在请求主机的状态时,打印所有jails的状态。[fschulze]

  • 在尝试连接之前检查jail状态。[fschulze]

  • 使用ploy 1.0.2版本中的新辅助程序来设置proxycommand。[fschulze]

1.0.0 - 2014-07-19

  • 添加了文档。[fschulze]

1.0b9 - 2014-07-08

  • 修复了打包和测试问题。[fschulze]

1.0b8 - 2014-07-04

  • Python 3兼容性。[fschulze]

  • 将mr.awsome重命名为ploy,将mr.awsome.ezjail重命名为ploy_ezjail。[fschulze]

1.0b7 - 2014-06-16

  • proxyhostproxycommand选项提供默认值。[fschulze]

  • 将ez-master的配置与其使用的实例合并。[fschulze]

1.0b6 - 2014-06-11

  • 将代理实例配置的更改传递给代理实例配置。[fschulze]

1.0b5 - 2014-06-10

  • 强制销毁jail。与ezjail 3.4.1一起使用,这解决了有时ZFS文件系统没有被删除,jail无法在没有人工干预的情况下启动的问题。[fschulze]

1.0b4 - 2014-05-22

  • 在将代理实例的配置复制到配置文件后清除massagers,以防止在创建代理实例时发生冲突。[fschulze]

1.0b3 - 2014-05-21

  • 修复了使[instance:...]使用ez-master工作的错误。[fschulze]

1.0b2 - 2014-05-15

  • 向ez-master部分添加了instance选项,以使用其他实例作为jail主机。[fschulze, tomster]

  • 将setuptools-git从setup.py移动到.travis.yml,它仅适用于发布和测试。[fschulze]

1.0b1 - 2014-03-24

  • 首次发布 [fschulze]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

ploy_ezjail-2.0.0.tar.gz (18.2 kB 查看哈希值)

上传时间 源代码

构建发行版

ploy_ezjail-2.0.0-py2.py3-none-any.whl (14.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由...

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面