Podman v4.6 引入 Podmansh,聲稱是 “革命性” 登錄 Shell
Podmansh 是一個登錄 shell,利用了 Podman 強大的容器管理特性。它將重新定義用戶與系統的交互方式,同時確保管理員擁有最大程度的安全和控制權限。
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 通過強大的容器管理功能,重新定義了系統管理員與用戶之間的交互方式。它提供了更好的資源隔離、安全性和控制,有助于解決容器技術中的訪問管理問題,為系統管理員提供更高效的管理工具。
責任編輯:武曉燕
來源:
OSCHINA