Podman v4.6 引入 Podmansh,声称是“革命性”登录 Shell
OSCHINA 2023-08-14 14:46:02
Podman 最新版本 v4.6.0 引入了一项有望为系统管理员带来革命性改变的功能:Podmansh。
Podman 是一个无守护进程的容器引擎,用于在 Linux 系统上开发、管理和运行 Open Container Initiative (OCI) 容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端,它可以作为 Docker CLI 使用,简单地说你可以直接添加别名:alias docker=podman 来使用 Podman。
(资料图片)
Podmansh 是一个登录 shell,利用了 Podman 强大的容器管理特性。它将重新定义用户与系统的交互方式,同时确保管理员拥有最大程度的安全和控制权限。
亮点介绍
Podmansh 引入新的容器管理范式
Podman v4.6.0 推出了“Podmansh”,一个登录 Shell,充分利用了 Podman 的容器管理功能,为系统管理员带来全新的容器管理体验。解决系统管理员的关键问题
对于系统管理员来说,管理资源访问是至关重要的任务。需要一种机制来限制用户在预定义边界内运行。podmansh
命令解决了这个问题,允许系统管理员在用户登录系统时,在容器内执行用户 Shell,实现对用户的隔离和控制。 Podmansh 工作原理
管理员将系统上的用户配置为使用/usr/bin/podmansh
命令,而不是像/bin/bash
那样的普通 Shell 命令。当用户以这种方式登录系统时,Podmansh 命令会在名为podmansh
的无特权容器中执行用户会话。该容器由 systemd 在用户会话开始时自动启动,并持续运行,直到所有用户会话退出。 通过 Quadlet 文件定义用户登录容器
用户登录的容器通过 Quadlet 文件定义,管理员可以通过在 Quadlet 文件中为容器指定卷来控制主机系统在容器内的可见性。管理员还可以通过 Quadlet 设置限制登录用户的访问、安全特权以及资源约束。配置和使用 Podmansh
管理员可以在/etc/containers/systemd/users
目录下创建 Quadlet 文件,然后 systemd 会在用户登录时初始化这些文件。管理员还可以为每个用户将 Quadlet 文件放在/etc/containers/systemd/users/${USER_ID}
目录下,从而实现对每个用户的精细控制。 Podmansh 容器设置示例
创建一个名为lockedu
的用户登录会话,并在 Quadlet 文件中定义容器设置,包括使用的容器镜像、容器名称、用户映射、运行方式等。这种设置可以实现对用户在容器内的限制和控制,以及更精细的安全配置。 Podmansh 优势与用途
Podmansh 通过强大的容器管理功能,重新定义了系统管理员与用户之间的交互方式。它提供了更好的资源隔离、安全性和控制,有助于解决容器技术中的访问管理问题,为系统管理员提供更高效的管理工具。详情。