V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

unshare

[util-linux]. Permite ejecutar un programa en un espacio de nombres [namespace] separado del resto del sistema con su red, PID, montaje, usuario, etc. A diferencia de Docker o LXC, no crea una "caja" completa, sino que aísla un solo proceso o un conjunto de ellos de manera temporal. El núcleo de Linux utiliza los namespaces para particionar los recursos del sistema y proporcionar una vista aislada a los procesos y unshare aprovecha esta funcionalidad para permitir que un proceso tenga su entrono aislado.

# unshare --net bash
dentro de la nueva shell [bash], si se ejecuta "ip a", no se verá ninguna interfaz de red, solo el loopback
# unshare --pid --fork bash
iniciar un shell donde los procesos del sistema principal no sean visibles
# unshare --mount bash
en la nueva shell, se puede ejecutar "mkdir /tmp/mount" y luego "mount --bind /tmp /tmp/mount" y solo será visible dentro de esta shell y desaparecerá al salir
# unshare --mount --pid --fork --net --user --map-root-user bash
inicia una nueva shell con sus propios namespaces de montaje, PID, red y usuario root
# unshare --mount --pid --fork --net --user bash
lo mismo sin convertirse en root

Nota.- El flag "--map-root-user" permite que el usuario que ejecuta el comando, incluso si no es root, se "mapee" como root dentro del nuevo namespace. Esto significa que dentro de la shell, tendrá privilegios de root para ese namespace, pero no en el sistema principal. Esto es una técnica común utilizada por herramientas de seguridad y sandboxing para limitar el daño potencial de un proceso malicioso.

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