管理 ACF

来自 Alpine Linux

ACF 是一个强大的 Web 应用程序,用于配置您的 Alpine Linux 设备。 尽管我们尽一切努力使 ACF 成为一个安全的应用程序,但本质上它还是存在危险性。 ACF 的目的是让用户能够管理系统上运行的服务。 一旦 ACF 安装完成,系统管理员有责任确保用户在 ACF 上获得的权限不超过他们应有的权限。 访问控制通过以下方式提供

  • 系统配置
  • 用户管理
  • 角色管理
  • 特定软件包管理

系统配置

系统管理员可以采取很多措施来限制对 ACF 的不当访问,方法是正确管理 Alpine Linux 设备上的防火墙和 http 服务。 尽可能锁定对 ACF 的访问。 强烈建议执行以下步骤

  • 将 ACF 限制为加密 (HTTPS) 访问
  • 不要在互联网连接上提供 ACF(如果可能)
  • 将 ACF 访问限制为指定的 IP 或 MAC 地址
提示:默认情况下,ACF 使用 mini_httpd 并使用端口 443。 如果您想更改此端口,您只需在 /etc/mini_httpd/mini_httpd.conf 中指定端口并重启:rc-service mini_httpd restart

用户管理

ACF 在系统 | 用户管理菜单下包含用户管理。 选择新建用户按钮以创建新用户。 应该为每个 ACF 用户创建单独的用户帐户。 每个用户帐户可以属于任意数量的 ACF 角色。

注意:如果您使用 setup-acf 脚本安装 ACF,系统将提示您输入密码,并将创建一个 root 用户。 如果您在定义 root 密码之前安装了 ACF,则必须执行命令

# acfpasswd -s root

角色管理

ACF 在系统 | 角色管理菜单下包含强大的角色管理。 角色定义了每个用户在 ACF 中拥有的权限。 具体来说,它们定义了角色成员可以调用哪些 ACF 操作。 该系统提供内置角色以及创建自定义角色的能力。

内置角色

每个 ACF 软件包都带有内置角色,这些角色定义了一些典型的使用场景。 五个基本内置角色是

GUEST 所有用户和访客(未经验证的用户)都可以访问基本状态和登录。
USER 典型的最终用户可以查看服务状态并在必要时重启它们。
EDITOR 编辑者可以使用表单更改某些设置。
EXPERT 专家用户可以直接编辑服务配置文件。
ADMIN 管理员可以访问所有 ACF 操作。

这些内置角色可以在每个控制器的基础上(即 /alpine-baselayout/alpine-baselayout/ADMIN)或全局(即 ADMIN)进行选择。 全局内置角色包含每个对应的控制器角色的所有权限(即 ADMIN 包含每个已安装的 x 和 y 的 /x/y/ADMIN)。

ACF 软件包也可能包含内置角色,这些角色为该软件包定义了特定的使用场景。 例如,acf-openssl 是一个功能齐全的证书颁发机构,它分离了提交和批准证书请求的角色

CERT_REQUESTER 用户可以提交证书请求,并在请求获得批准后下载这些证书。
CERT_APPROVER 用户可以批准证书请求。

系统管理员可以编辑内置角色以添加权限,但不能删除内置角色或其默认权限。 此功能可能允许系统管理员向较低级别的角色添加一些权限以满足其需求。 这是修改访客(未经验证的用户)权限的唯一方法。 更典型的情况是,系统管理员会将每个用户分配给自定义角色或内置角色和自定义角色的组合。

自定义角色

自定义角色使系统管理员能够定义与其系统自定义需求相匹配的角色。 自定义角色可以包含任意数量的权限。 因此,系统管理员可以完全定义每个不同用户类型的权限在一个单独的角色中,或者他可以为每个用户使用更具体的角色的组合。

自定义角色是使用新建角色按钮创建的。 创建新角色编辑角色表单列出了系统上当前安装的每个 ACF 操作(取决于安装了哪些 ACF 软件包)。 如果安装了多个 ACF 软件包,则此列表可能会很长。 通常,每个 ACF 软件包都是独立的,因此一个软件包的权限不依赖于拥有任何其他软件包的权限。 内置角色应该用作指南,以显示哪些权限通常组合在一起。

特定软件包管理

ACF 软件包可能包含其自己的特定软件包管理。acf-tinydns 软件包管理 tinydns DNS 服务器,并包括在域基础上的权限管理。 这在网络 | DNS | 权限选项卡下可用。 tinydns ACF 软件包旨在将每个域的配置保存在单独的文件中(请参阅列出域选项卡)。 然后可以设置权限,以确定特定用户或特定角色的成员可以查看/编辑哪些域。

参见

Alpine 配置框架设计