El equipo detrás systemd
desea que adopte una nueva forma de administrar los directorios de inicio. Llamarlo «nueva forma» es ponerlo a la ligera: este es un verdadero cambio de paradigma para Linux. Aquí está todo lo que necesita saber systemd-homed
, que probablemente llegará a una distribución de Linux cercana.
No es ajeno a la controversia
Cuando systemd
se introdujo en 2010, la comunidad de Linux se dividió en tres campos. Algunos pensaron que era una mejora, y otros pensaron que era un diseño defectuoso que no se adhirió a la filosofía Unix. Y a algunos no les importaba de una forma u otra.
La reacción de los opositores fue fuerte, acalorada y, en algunos casos, casi fanática. Lennart Poettering, ingeniero de software en sombrero rojo y co-desarrollador de systemd, inclusive recibió amenazas de muerte.
En YouTube se publicaron canciones que abogaban por la violencia hacia Poettering y aparecieron sitios web que intentaban obligar a los usuarios de Linux a boicotear. systemd
. Su co-desarrollador, Kay Sievers, además recibió críticas y abusos, pero Poettering ciertamente se llevó la peor parte.
A pesar de esto, en ocho meses, Fedora estaba usando systemd
. A finales de 2013, Arco, Debian, Manjaro, y Ubuntu todos se habían mudado a systemd
. De todos modos, la gloria del código abierto es que si no te gusta algo, puedes bifurcar el código fuente y hacer tus propias cosas con él. Nuevas distribuciones, como Devuan, que era una bifurcación de Debian, se crearon únicamente para evitar el uso systemd
.
RELACIONADO: Cómo administrar los servicios de Systemd en un sistema Linux
Su directorio de $ HOME
En la estructura de directorios de Linux, todo lo que haces reside en el directorio «/ home». Sus archivos de datos, imágenes, música y todo el árbol del directorio personal se almacenan dentro de este directorio que lleva el nombre de su cuenta de usuario.
La configuración de sus aplicaciones se almacena en su carpeta de inicio en «directorios de puntos» ocultos. Si el primer carácter del nombre de un archivo o directorio es un punto (.), Está oculto. Debido a que estas configuraciones se almacenan localmente y no en un registro central, y debido a que una copia de seguridad de su directorio de inicio incluye estos archivos y carpetas ocultos, todas sus configuraciones además se respaldan.
Cuando restaura una copia de seguridad y enciende una aplicación, como LibreOffice o Thunderbird, busca su directorio oculto. Además busca las preferencias de su documento, la configuración de la barra de herramientas y cualquier otra personalización. Thunderbird encuentra la información de su cuenta de email y su email. No tiene que pasar por el dolor de configurar lentamente cada aplicación.
Puedes utilizar ls
con el -a
(todo) opción para ver archivos y directorios ocultos. Primero, escriba lo siguiente:
ls
Esto le muestra los archivos y directorios habituales. A continuación, escriba lo siguiente:
ls -a
Ahora, puede ver los archivos y directorios ocultos.
Debido a que es la parte más valiosa de una instalación, es común que el directorio «/ home» se monte en su propia partición o en un disco duro separado. De esta manera, si algo catastrófico le sucede al sistema operativo o la partición en la que se encuentra, puede reinstalar su distribución de Linux o cambiar a una nueva. Posteriormente, puede simplemente volver a montar su partición de inicio existente en «/ home».
RELACIONADO: La estructura de directorios de Linux, explicada
Datos sobre usted
Su directorio personal no solo almacena sus datos; además almacena información sobre usted. incluyendo algunos atributos de su identidad digital. A modo de ejemplo, su directorio «.ssh» almacena información sobre las conexiones remotas que ha realizado con otras computadoras y las claves SSH que ha generado.
Otros atributos del sistema, como el nombre de usuario, la contraseña y la identificación de usuario única de su cuenta, se almacenan en otro lugar en archivos como «/ etc / passwd» y «/ etc / shadow». Cualquiera puede leer algunos de estos, pero otros solo pueden ser leídos por personas que tengan privilegios de root.
Así es como se ve el contenido del archivo «/ etc / passwd»:
cat /etc/passwd
RELACIONADO: Cómo cambiar los datos del usuario con chfn y usermod en Linux
Los cambios systemd-homed
La intención del systemd-homed
cambios es proporcionar un directorio de inicio totalmente portátil con sus datos y su identidad digital de Linux almacenados en él. Su UID y todos los demás mecanismos de identificación y autenticación se almacenarán solo dentro de su directorio personal.
Debido a su diseño de “todos los huevos en una canasta”, los directorios de inicio están encriptados. Se descifran automáticamente cada vez que inicia sesión y se vuelven a cifrar cada vez que cierra la sesión. El método preferido es usar el Configuración de clave unificada de Linux (LUKS) cifrado de disco. A pesar de esto, hay otros esquemas disponibles, como fscrypt.
A Notación de objetos JavaScript El registro de usuario (JSON) almacena toda su información de identidad en un directorio llamado «~ / .identity». Está firmado criptográficamente con una clave que está fuera de su control.
El directorio de inicio de cada persona está montado en un dispositivo de bucle invertido, semejante a la forma en que snap
la aplicación está montada. Esto es así para que el árbol de directorios dentro del directorio de inicio aparezca como una parte integrada del árbol de directorios del sistema operativo. El punto de montaje predeterminado es “/home/$USER.homedir” (“$ USER” se reemplaza por el nombre de la cuenta de la persona).
¿Cuales son los beneficios?
Debido a que su directorio de inicio se convierte en una encapsulación segura de todos sus datos, inclusive podría tener su directorio de inicio en un dispositivo extraíble. A modo de ejemplo, puede utilizar una unidad USB para moverla entre las máquinas del trabajo y del hogar, o cualquier otra systemd-homed
computadora.
Esto es lo que Poettering quería decir con «un directorio personal totalmente portátil». Mencionó que inclusive si no desea mover su directorio personal en un dispositivo portátil, esto facilitará las actualizaciones y migraciones y aumentará la seguridad.
Elimina lo que él llama «bases de datos complementarias», que contienen fragmentos de información importante sobre usted que Poettering cree que debería centralizarse. Los archivos “/ etc / passwd” y “/ etc / shadow” contienen información de autenticación y contraseñas hash. A pesar de esto, además contienen información como su shell predeterminado, el Supervisor Integral de Operaciones de General Electric (GECOS) campo.
Poettering dijo esto metadatos deben racionalizarse y almacenarse en grupos significativos dentro del registro JSON de cada persona en su directorio de inicio.
Administrar su nuevo $ HOME
los systemd-homed
El servicio se controla a través de la nueva homectl
herramienta de línea de comandos.
Hay opciones para crear usuarios y directorios de inicio y determinar límites de almacenamiento para cada usuario. Además puede determinar la contraseña, bloquear a alguien de su cuenta o borrar una cuenta por completo. Los usuarios pueden ser inspeccionados y sus registros de usuario JSON además pueden leerse.
Las zonas horarias y otra información basada en la ubicación además se pueden configurar para cada usuario. Puede especificar el shell predeterminado e inclusive determinar variables de entorno para que estén en un estado determinado cada vez que alguien inicie sesión.
Si busca en el directorio «/ home», verá systemd-homed
entradas administradas que se asemejan a lo siguiente, con «.homedir» adjunto al nombre de usuario:
/home/dave.homedir
Recuerde, esto es solo un punto de montaje. La ubicación del directorio de inicio cifrado real está en otra parte.
Limitaciones y problemas
systemd-homed
es solo para uso en las cuentas de usuario de humanos. No puede manejar cuentas de usuario con un UID de menos de 1000. Dicho de otra forma, root, daemon, bin, etc., no se pueden administrar con el nuevo esquema. Siempre habrá una necesidad de las formas estándar de administrar usuarios. Por eso, systemd-homed
no es una solución global.
Hay un conocido 22 capturas que necesita ser resuelto. Como ya mencionamos previamente, el directorio de inicio de una persona se descifra cada vez que inicia sesión. Pero si alguien accede de forma remota a la computadora a través de SSH, no se puede hacer referencia a las claves SSH en el directorio de inicio debido a que el directorio de inicio aún está encriptado hasta ese momento. persona inicia sesión. De todos modos, se necesitan las claves SSH para autenticarse antes de poder iniciar sesión.
Este fue un obstáculo reconocido por el systemd-homed
equipo, pero no pudimos hallar ninguna referencia sobre una solución para esto. Estamos seguros de que encontrarán una solución; sería una caída espectacular si no lo hicieran.
Digamos que alguien transporta su directorio personal a una nueva máquina. Si otra persona ya está usando el UID en la nueva máquina, se le asignará un nuevo UID automáticamente. De todos modos, todos sus archivos deberán tener su propiedad reasignada al nuevo UID.
En este momento, esto se maneja a través de una aplicación automática y recursiva de los chown -R
mando. Esto probablemente se manejará de manera distinto en el futuro cuando se desarrolle un esquema más elegante. Este enfoque de mano dura no tiene en cuenta los demonios y procesos que se ejecutan como otros usuarios.
RELACIONADO: Cómo crear e instalar claves SSH desde el Shell de Linux
¿Cuándo está sucediendo esto?
Esto está sucediendo ahora. Los cambios de código fueron enviado el 20 de enero de 2020, y se incluyeron en la compilación 245 de systemd
, que se envió con Ubuntu 20.04 en abril de 2020.
Para chequear qué versión tiene, escriba lo siguiente:
systemd --version
los homectl
A pesar de esto, el comando aún no está presente. Ubuntu 20.04 utiliza un directorio tradicional / home y no utiliza systemd-homed.
De todos modos, depende de las distribuciones individuales elegir cuándo incluirán y respaldarán systemd-homed
y homectl
.
Por eso, no es necesario que nadie ingrese en modo horquillas y antorchas encendidas. Debido a que se mantendrán los métodos estándar para administrar usuarios y directorios de inicio, todos tendremos opciones.
RELACIONADO: Novedades de Ubuntu 20.04 LTS «Focal Fossa»