26 dépôts
Configuration mechanisms for translating user and group identities between host and container environments.
Distinct from Namespace Isolation: Distinct from general namespace isolation: focuses on the specific translation of identity mappings rather than logical storage separation.
Explore 26 awesome GitHub repositories matching software engineering & architecture · User Namespace Mappings. Refine with filters or upvote what's useful.
This project is a secure container runtime that provides strong isolation for application workloads by implementing a userspace kernel. By intercepting system calls and executing them within a memory-safe, restricted environment, it minimizes the attack surface exposed to the host kernel. It functions as a drop-in engine for standard container orchestration platforms, ensuring compatibility with industry-standard runtime specifications while maintaining a hardened execution boundary. The runtime distinguishes itself through its ability to virtualize core system resources, including an indepen
Defines identity mappings within container configurations to control privilege translation between the host and the isolated runtime environment.
Talos is a minimal, immutable Linux distribution designed specifically for deploying and managing Kubernetes clusters. It functions as an API-driven infrastructure manager that replaces traditional shell access with a declarative gRPC interface to control operating system state and configuration. The system is distinguished by its use of a read-only root filesystem and a security-hardened kernel, which removes standard GNU utilities to reduce the attack surface. It ensures environment consistency by distributing the operating system as versioned, signed images and utilizes TPM-backed verified
Translates container user and group IDs to specific host identifiers to manage system-level permissions.
nerdctl is a command-line tool that manages containers and images using containerd as the runtime, providing a Docker-compatible interface for container lifecycle management. It supports running containers with the same command syntax and flags as Docker, including multi-container Compose workflows, and enables rootless container execution without host kernel escalation. The tool extends beyond basic container management with several advanced distribution and security capabilities. It can start containers before full image download by fetching only metadata and on-demand layers from eStargz-f
Maps container processes to unprivileged user namespaces, enabling rootless container execution without host kernel escalation.
Runtipi is a home server dashboard and orchestration tool designed for deploying and managing containerized applications. It provides a web-based interface for discovering and installing software from a curated app store, utilizing a Docker Compose orchestrator to handle the deployment of self-hosted services. The system integrates a reverse proxy and SSL manager to route external traffic to internal containers, automating HTTPS certificate renewal and domain assignment. It also features a built-in backup and update manager that uses cron-based scheduling to perform automatic security patchin
Links physical host directories to containers, allowing applications to access external files.
kube-bench is a Kubernetes security benchmark scanner and configuration auditor. It verifies if a cluster adheres to the Center for Internet Security standards and other hardening guides to identify security misconfigurations and vulnerabilities. The tool operates as a containerized security scanner, utilizing host namespaces to analyze nodes and control plane components without requiring the installation of binaries directly on the host. It supports multiple Kubernetes distributions, applying environment-specific benchmarks to ensure auditing accuracy for managed services. The project cover
Mounts host directories into the container's filesystem to inspect sensitive system files and configuration settings.
Bottles is a Wine compatibility manager and prefix manager that provides a graphical interface for running Windows applications on Linux. It functions as a Windows application sandbox and dependency manager, organizing isolated environments to prevent dependency conflicts and protect the host operating system. The project acts as a Wine runner orchestrator, allowing users to download, install, and switch between different compatibility layers and graphics renderers. It distinguishes itself by using community-driven scripts for automated software installation and dependency management, alongsi
Links host system directories into the isolated container to provide applications access to external files.
SSHFS is a network filesystem client that maps remote server directories to local mount points. It functions as a userspace implementation of a filesystem, allowing users to access and manage remote files as if they were on a local disk using the SFTP protocol over SSH. The tool distinguishes itself by offering multiple transport options, including encrypted SSH tunnels for security and direct TCP socket connections to bypass encryption for higher throughput. It also supports connectivity via virtual sockets to access directories hosted inside virtual machines. The system includes capabiliti
Translates remote user and group identifiers into local equivalents to maintain consistent file ownership.
Youki est un runtime de conteneur OCI écrit en Rust. Il implémente la spécification de runtime de l'Open Container Initiative pour gérer le cycle de vie des processus conteneurisés et assurer la compatibilité avec les images et moteurs de conteneurs standard. Le runtime est conçu pour la sécurité mémoire et prend en charge l'exécution de conteneurs rootless, permettant aux conteneurs de s'exécuter en tant qu'utilisateurs non-root pour réduire les risques de sécurité et limiter l'escalade de privilèges. Il fournit des capacités de gestion de conteneurs de base, incluant la création et la gestion de conteneurs OCI. Ceci est réalisé grâce à l'isolation par espaces de noms Linux (namespaces), la limitation des ressources basée sur les cgroups et le mappage des espaces de noms utilisateur pour partitionner les processus du système d'exploitation hôte.
Maps container root users to non-privileged host users to enable rootless container execution.
x11docker est un orchestrateur d'interface graphique pour conteneurs OCI et un pont matériel conçu pour exécuter des applications graphiques et des environnements de bureau complets dans des conteneurs. Il fonctionne comme un bac à sable (sandbox) Linux GUI, reliant les processus conteneurisés aux serveurs d'affichage X11 ou Wayland et aux systèmes audio de l'hôte. Le projet se distingue par une intégration système poussée pour l'accélération matérielle, incluant l'automatisation des pilotes NVIDIA et le GPU passthrough. Il prend en charge l'émulation GUI multi-architecture et offre des capacités d'accès distant via VNC, transfert SSH et rendu HTML5 dans le navigateur. L'outil couvre un large éventail de capacités d'intégration, notamment le mappage d'identité par espaces de noms utilisateur pour la sécurité, le pontage de session D-Bus pour la communication inter-processus et la synchronisation bidirectionnelle du presse-papiers. Il gère également le partage de périphériques tels que webcams et imprimantes, ainsi que la gestion des systèmes init et le montage de stockage persistant. Le logiciel est implémenté sous forme d'utilitaire shell prenant en charge plusieurs backends conformes aux spécifications OCI, dont Docker et Podman.
Synchronizes container user and group IDs with the host to ensure correct file permissions.
podman-compose est un outil en ligne de commande et un wrapper de spécification compose qui traduit les définitions YAML en commandes pour le moteur de conteneur Podman. Il fonctionne comme un orchestrateur multi-conteneurs qui déploie des stacks d'applications sans nécessiter de processus démon en arrière-plan. L'outil permet la gestion de conteneurs rootless, autorisant l'exécution d'applications et de services conteneurisés sans privilèges administratifs sur l'hôte. Il traduit les commandes compose de haut niveau en appels shell individuels pour coordonner le déploiement de multiples conteneurs. Le système gère les réseaux de conteneurs avec une résolution de nom basée sur DNS pour permettre aux services de communiquer via des adresses réseau. Il gère également le provisionnement séquentiel des services basé sur les définitions de dépendances et mappe les permissions de l'espace utilisateur aux namespaces des conteneurs.
Enables execution of containers without administrative privileges by mapping user-space permissions to namespaces.
Bubblewrap is a Linux sandbox runner that creates lightweight, isolated execution environments for running untrusted applications. It combines Linux user, mount, network, PID, and UTS namespaces with seccomp-BPF system call filtering to restrict filesystem, network, process, and inter-process communication access. The project provides comprehensive process isolation by giving each sandbox its own private tmpfs root with selective bind-mounts, a separate network stack containing only a loopback interface, an independent process ID space, and remapped user and group identifiers. It applies secc
Maps host user and group IDs to different values inside the sandbox via user namespaces.
mergerfs is a FUSE-based union filesystem that pools multiple independent filesystems or directories into a single unified mount point. It acts as a proxy to underlying storage, forwarding file operations directly to the filesystem for near-native performance while merging directory listings and attribute changes. The project provides a live, read-write pooled view of storage that aggregates drives of any size without requiring reformatting or data redistribution, and it isolates individual drive failures so that the pool continues serving data from remaining filesystems. The filesystem offer
Translates user and group identifiers between namespaces for correct file ownership in container environments.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Applies user namespace configurations requested by the Kubernetes scheduler for container isolation.
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
Sets up isolated user and group ID mappings so containers run with reduced privileges on the host.
LXC est un framework de virtualisation au niveau du système d'exploitation et un gestionnaire de conteneurs Linux utilisé pour exécuter plusieurs systèmes Linux isolés sur un seul hôte. Il fonctionne comme un orchestrateur d'espace de noms de noyau et un runtime de conteneur non privilégié, permettant la création et la gestion de conteneurs système sans la surcharge d'un hyperviseur. Le projet fournit une exécution de conteneur non privilégié en mappant les utilisateurs root des conteneurs aux utilisateurs hôtes non privilégiés pour empêcher l'accès au système hôte. Il garantit la sécurité via le filtrage des appels système et l'isolation de l'utilisateur root, permettant aux conteneurs de s'exécuter sans nécessiter de privilèges root sur l'hôte. Le framework gère l'isolation des ressources en utilisant des groupes de contrôle pour limiter l'utilisation du CPU et de la mémoire et utilise des espaces de noms de noyau pour l'isolation des processus et du réseau. Il inclut des capacités pour l'administration de pont réseau pour empêcher l'usurpation d'adresse et une API programmatique pour gérer le cycle de vie du conteneur et exécuter des commandes administratives.
Maps container root users to unprivileged host users to prevent administrative access to the host operating system.
Incus is a unified orchestration platform for managing system containers, OCI application containers, and virtual machines through a single control plane. It brings together cluster infrastructure management, secure multi-tenancy, software-defined networking, and pluggable storage backend orchestration into one cohesive system exposed via a full REST API and command-line interface. What distinguishes Incus is its ability to run multiple instance types side by side—full Linux system containers, OCI application containers, and QEMU virtual machines—all managed with consistent tooling. Networkin
Runs containers inside user namespaces with non-overlapping UID/GID maps to restrict privileges to those of a regular host user.
CDK est une boîte à outils spécialisée pour l'audit de sécurité des conteneurs, l'exploitation d'évasions de conteneurs et le pentesting d'infrastructures cloud. Elle fournit une collection de scripts et d'outils conçus pour identifier et exploiter les vulnérabilités dans les runtimes de conteneurs afin de sortir des environnements isolés et d'exécuter des commandes sur le système d'exploitation hôte sous-jacent. Le projet propose une suite d'exploitation dédiée au runtime Docker pour abuser de l'API Docker, de procfs et des cgroups afin d'obtenir un accès non autorisé au niveau de l'hôte. Il inclut des techniques spécifiques pour contourner l'isolation via LXCFS, l'exploitation des espaces de noms utilisateur et le montage de disques hôtes, ainsi que des capacités pour extraire les métadonnées cloud et auditer les permissions des comptes de service afin d'élever les privilèges dans les environnements de cluster. La boîte à outils couvre un large éventail de capacités d'audit de sécurité, y compris l'audit de clusters Kubernetes pour l'exfiltration de secrets et l'analyse de politiques, l'analyse de fichiers et services sensibles, et la détection du partage de réseau hôte. Elle fournit également des utilitaires pour établir des reverse shells, déployer des charges utiles dans des environnements restreints et installer des outils d'administration système au sein de conteneurs minimaux.
Exploits unprivileged user namespace creation and capability inheritance to gain administrative privileges on the host.
Dim is a self-hosted media server and manager designed to index and organize local media libraries for remote access and playback. It functions as a private web-based portal that allows users to stream locally stored video and audio content over a network. The system operates as a local media indexer that scans storage to structure and beautify collections, creating a consistent user interface for managing digital content. It uses metadata-driven beautification to enrich raw file lists into organized libraries. The application is deployed as a containerized service, utilizing static path map
Uses host-to-container path mapping to allow the application access to media libraries stored on the host system.
Finch est un runtime de conteneurs basé sur une machine virtuelle et une CLI de gestion de conteneurs OCI utilisée pour le développement local. Il fonctionne en exécutant les charges de travail de conteneurs dans une machine virtuelle en arrière-plan pour les isoler du système d'exploitation hôte. Le projet sert de constructeur d'images OCI et d'orchestrateur de services multi-conteneurs pour simuler des environnements de production complexes sur une station de travail. Le runtime fonctionne comme un moteur de conteneurs multiplateforme, utilisant des couches d'émulation pour exécuter des images de conteneurs conçues pour des architectures CPU étrangères. Il se distingue dans la distribution d'images par la prise en charge du chargement différé (lazy-loading) et la génération d'index consultables, permettant aux conteneurs de démarrer avant qu'un téléchargement complet de l'image ne soit terminé. Le projet couvre un large éventail de capacités, notamment la gestion du cycle de vie des images OCI, la configuration des ressources de la machine virtuelle et l'orchestration d'applications multi-conteneurs. Il fournit des outils pour la gestion réseau, la persistance des volumes, ainsi que la signature et la vérification des images. Le système inclut une interface en ligne de commande avec prise en charge de l'autocomplétion du shell et compatibilité avec les commandes de conteneurs héritées.
Shares files between the workstation and containers by mapping local folders into the virtual machine filesystem.
This project provides containerized distribution templates and images for deploying a media server. It enables the operation of a media server within Docker or Kubernetes environments, utilizing package management charts to streamline installation and management of home cinema libraries. The project focuses on high-performance video processing through hardware accelerated transcoding, which is achieved by passing through graphics processing unit devices to the container. It ensures data persistence by mapping host directories for configuration databases and large-scale media libraries. The s
Aligns internal container user and group IDs with host system IDs to manage file read and write permissions.