![Agregar usuario al entorno chroot](https://rvso.com/image/1263752/Agregar%20usuario%20al%20entorno%20chroot.png)
Creé un sistema chroot en mi Ubuntu usando schroot y debrootstrap, basado en ubuntu mínimo. Sin embargo, cada vez que parece que no puedo agregar un nuevo usuario a este entorno chroot. Esto es lo que sucede.
- Ingreso schroot como root y agrego un nuevo usuario. (Probé los comandos adduser y useradd)
- El nombre de usuario aparece en el archivo /etc/passwd y puedo ingresar al nuevo usuario. Hasta ahora, todo bien.
- Cuando salgo de schroot y vuelvo a ingresar a schroot, ¡el usuario que creé desapareció! Tampoco se menciona a ese usuario en /etc/passwd.
¿Cómo hago que el nuevo usuario sea permanente?
Respuesta1
Oh, lo descubrí yo mismo. Schroot tiene una función llamada "sesiones" donde se puede preservar el entorno actual. Cada vez que uno cierra la sesión sin crear una "sesión", schroot deja todo en estado limpio y, por lo tanto, también elimina al usuario. Se puede iniciar una sesión usando
schroot -c mychroot -b
Respuesta2
En realidad, hay una solución mejor que encontré.Preguntas frecuentes sobre Schroot, en la sección¿Por qué schroot sobrescribe los archivos de configuración en chroot?
De forma predeterminada, schroot copia las bases de datos NSS del sistema ('passwd', 'shadow', 'group', 'gshadow', 'services', 'protocols', 'networks' y 'hosts', etc.) en el chroot. . La razón de esto es que el entorno chroot no es un sistema completamente separado, y copiarlos los mantiene sincronizados. Sin embargo, esto no siempre es deseable, particularmente si la instalación de un paquete en el chroot crea usuarios y grupos del sistema que no están presentes en el host, ya que estos desaparecerán la próxima vez que se copien las bases de datos..
En breve:Cada vez que inicia una nueva sesión de schroot, o después de reiniciar el sistema host, schroot toma /etc/passwd
y algunos otros archivos de su sistema real y los copia en chroot, perdiendo así todos los nuevos usuarios. La solución alternativa sugerida se describe en estas preguntas frecuentes: puede desactivar la copia de estos archivos:
- Abierto
/etc/schroot/default/nssdatabases
(en su sistema real, por supuesto) - Verás la lista de los llamadosbases de datos nss, que se copian del sistema real.
- Líneas de comentario
passwd
ygroup
,shadow
para que el archivo tenga este aspecto:
/etc/schroot/default/nssdatabases
# System databases to copy into the chroot from the host system.
#
# <database name>
#passwd
#shadow
#group
services
protocols
networks
hosts
Ahora, si regresa a su chroot y crea algunos usuarios, o instala algún postgresql, etc., los nuevos usuarios no se perderán. ¡Incluso después de reiniciar!