V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

bubblewrap

Herramienta ligera para crear contenedores sin privilegios. Permite aislar procesos del sistema anfitrión configurando un espacio de nombres y puntos de montaje personalizados, ideal para tareas como empaquetado, pruebas o ejecución de software en entornos limitados.

# bwrap --dev /dev --proc /proc --bind / / sh
monta /dev y /proc dentro del contenedor, une el sistema anfitrión [/] al contenedor y inicia un shell aislado
# bwrap --bind / / --chdir ~/sandbox --dev /dev --proc /proc bash
ejecutar "bash" en ~/sandbox como la raíz del contenedor
# bwrap --unshare-net --bind / / bash
crea un espacio de nombres de red independiente, aislando al proceso del sistema anfitrión
# bwrap --tmpfs /tmp --bind / / bash
crea un directorio /tmp como un sistema de archivos temporal y usa el resto del sistema anfitrión como base
# bwrap --ro-bind /bin /bin --ro-bind /lib /lib --ro-bind /usr /usr --dev /dev --proc /proc bash
monta /bin, /lib y /usr como solo lectura e incluye /dev y /proc para que los programas funcionen correctamente
# bwrap --unshare-user --uid 1000 --gid 1000 --bind / / bash
ejecuta un shell con el UID y GID 1000 dentro del contenedor, independientemente del usuario anfitrión
# bwrap --unshare-pid --bind / / bash
que los procesos dentro del contenedor no puedan ver ni interactuar con los del sistema anfitrión
# bwrap --ro-bind /etc /etc --dev /dev --proc /proc bash
monta /etc como solo lectura dentro del contenedor
# bwrap --bind / / --chdir /home/user bash
establece /home/user como el directorio de trabajo del contenedor
# bwrap --unshare-ipc --bind / / bash
asegurar que las colas de mensajes y memoria compartida no sean visibles para procesos externos
# bwrap --dev /dev --proc /proc --tmpfs /tmp bash
el contenedor no tiene acceso al sistema anfitrión más allá de /dev y /proc
# bwrap --bind / / --dev /dev --proc /proc /usr/bin/ls
uso combinado con flatpak
# bwrap --unshare-all --ro-bind /usr /usr --ro-bind /bin /bin --ro-bind /lib /lib --ro-bind /lib64 /lib64 2>/dev/null || true --proc /proc --tmpfs /tmp --dev /dev -- ls || true
ejecutar un binario con solo lo imprescindible
# bwrap --unshare-all --ro-bind / / --proc /proc --dev /dev --tmpfs /tmp --chdir / bash -c 'touch /root/FAIL || echo "solo lectura activada"; uname -a'
sandbox de solo-lectura total

1.-

Probar un programa en un entorno restringido:

# bwrap --bind /usr/bin /usr/bin --bind /usr/lib /usr/lib --bind /etc /etc --ro-bind /var /var --tmpfs /tmp --dev /dev --proc /proc --unshare-net /usr/bin/python3 --version

Permite acceso limitado a /usr/bin, /usr/lib y /etc, monta /var como solo lectura y crea un nuevo /tmp, aísla la red y ejecuta Python dentro del contenedor.

2.-

Crear un script para ejecutar aplicaciones con restricciones repetidamente. Por ejemplo:

# nano sandbox.sh
#!/bin/bash

bwrap --bind / / --tmpfs /tmp --ro-bind /usr /usr --unshare-net --chdir /tmp bash

# chmod +x sandbox.sh
hacerlo ejecutable

Y lanzarlo cada vez que se necesite un entorno aislado.

Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
4073 entradas - Acerca del Tractatus
La Pipa Plena 2025