Systemd cambiará la forma en que funciona su directorio de inicio de Linux

El directorio / home resaltado en un administrador de archivos gráfico de Linux.isak55 / Shutterstock

El equipo detrás systemd queremos que adopte una nueva forma de administrar directorios personales. Llamarlo «nueva forma» es decirlo a la ligera: 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 oponentes fue fuerte, apasionada y, en algunos casos, casi fanática. Poeta de Lennart, ingeniero de software en sombrero rojo y co-desarrollador de systemd, incluso ha recibido amenazas de muerte.

Se han publicado canciones que abogan por la violencia contra Poettering en YouTube y han aparecido sitios web que intentan obligar a los usuarios de Linux a boicotear. systemd. Su co-desarrollador, Kay tamizadoras, también ha recibido críticas y apodos, pero Poettering ciertamente pagó el precio.

Sin embargo, en ocho meses Fedora estaba usando systemd. Finales de 2013, Comba, Debian, Manjaro, y Ubuntu todos se habían mudado a systemd. Por supuesto, la gloria del código abierto es que si no te gusta algo, puedes duplicar el código fuente y hacer tus propias cosas con él. Nuevas distribuciones, como Devuan, que era una bifurcación de Debian, se crearon solo para evitar usar systemd.

Su directorio $ HOME

En la estructura de directorios de Linux, todo lo que haces reside en el directorio «/ home». Sus datos, imágenes, archivos de música y todo el árbol del directorio de inicio se almacenan en este directorio que lleva el nombre de su cuenta de usuario.

La configuración de su aplicación 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, también se respaldan todas sus configuraciones.

Cuando restaura una copia de seguridad e inicia una aplicación, como LibreOffice o Thunderbird, busca su directorio oculto. También encuentra 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 correo electrónico y su correo electrónico. No tiene que preocuparse por configurar lentamente cada aplicación.

Puedes usar 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 normales. Luego escriba lo siguiente:

ls -a

Ahora puede ver los archivos y directorios ocultos.

Debido a que esta 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 esa 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 actualizar a una nueva. Luego, simplemente puede montar su partición de inicio existente en «/ home».

Datos sobre ti

Su directorio personal no solo almacena sus datos; también almacena información sobre usted. incluyendo ciertos atributos de su identidad digital. Por 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 ellos, pero otros solo pueden ser leídos por personas con privilegios de root.

Así es como se ve el contenido del archivo «/ etc / passwd»:

cat /etc/passwd

Cambios alojados por systemd

La intencion del systemd-homed cambios es proporcionar un directorio personal completamente portátil con sus datos y su identidad digital de Linux almacenados allí. Su UID y todos los demás mecanismos de identificación y autenticación se almacenarán solo en su directorio personal.

Debido a su diseño de “todos los huevos en una canasta”, los directorios personales están encriptados. Se descifran automáticamente cada vez que inicia sesión y se vuelven a cifrar cada vez que cierra sesión. El método preferido es utilizar el Configuración de la clave unificada de Linux (LUKS) cifrado de disco. Sin embargo, existen otros programas, como fscrypt.

A Notación de objetos de 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, muy parecido a un snap la aplicación está montada. Así es como aparece el árbol de directorios en el directorio de inicio como una parte transparente 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, incluso puede tener su directorio de inicio en un dispositivo extraíble. Por ejemplo, puede usar una memoria USB para moverlo entre sus máquinas profesionales y domésticas, o cualquier otra systemd-homed computadora.

Esto es lo que Poettering quiere decir con «un directorio personal totalmente portátil». Dijo que si bien no desea mover su directorio de inicio a un dispositivo portátil, facilitará las actualizaciones y migraciones y aumentará la seguridad.

Elimina lo que llama «bases de datos complementarias», que contienen fragmentos de información importante sobre usted que, según Poettering, debería centralizarse. Los archivos «/ etc / passwd» y «/ etc / shadow» contienen información de autenticación y contraseñas hash. Sin embargo, también contienen información como su shell predeterminado, el Supervisor de Operaciones Generales de General Electric (GECOS).

Poettering dijo esto metadatos debe simplificarse y almacenarse en grupos significativos en el registro JSON de cada persona en su directorio de inicio.

Administra tu nuevo $ HOME

los systemd-homed el servicio está controlado por el nuevo homectl herramienta de línea de comando.

Hay opciones para crear usuarios y directorios de inicio y establecer límites de almacenamiento para cada usuario. También puede establecer la contraseña, bloquear a alguien de su cuenta o eliminar una cuenta por completo. Se puede inspeccionar a los usuarios y también se pueden leer sus registros de usuario JSON.

Las zonas horarias y otra información basada en la ubicación también se pueden configurar para cada usuario. Puede especificar el shell predeterminado e incluso establecer 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 parecen a lo siguiente, con «.homedir» agregado al nombre de usuario:

/home/dave.homedir

Recuerde, este es solo un punto de montaje. La ubicación del directorio personal cifrado real está en otra parte.

Límites y problemas

systemd-homed solo está diseñado para su uso en cuentas de usuarios humanos. No puede administrar cuentas de usuario con UID menor que 1000. En otras palabras, root, daemon, bin, etc. no se pueden administrar usando el nuevo esquema. Siempre habrá necesidad de métodos estándar de administración de usuarios. En consecuencia, systemd-homed no es una solución integral.

Hay un conocido 22 capturas que necesita ser resuelto. Como mencionamos anteriormente, 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 del directorio de inicio porque el directorio de inicio siempre está encriptado hasta que nadie inicia sesión. Por supuesto, necesita las claves SSH para autenticarse antes de poder conectarse.

Este fue un problema reconocido por el systemd-homed equipo, pero no pudimos encontrar ninguna referencia para solucionarlo. Estamos seguros de que encontrarán una solución; sería una caída dramática si no lo hicieran.

Digamos que alguien está moviendo su directorio de inicio a una nueva máquina. Si el UID ya está en uso en la nueva máquina por otra persona, se le asignará automáticamente un nuevo UID. Por supuesto, todos sus archivos deberán tener su propiedad reasignada al nuevo UID.

Actualmente esto se maneja mediante una aplicación recursiva y automática de los chown -R pedido. Es probable que esto se trate de manera diferente en el futuro cuando se desarrolle un esquema más elegante. Este enfoque engorroso ignora los demonios y los procesos que se ejecutan como otros usuarios.

¿Cuándo pasa 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 comprobar qué versión tiene, escriba lo siguiente:

systemd --version

los homectl Sin embargo, el comando aún no está presente. Ubuntu 20.04 usa un directorio tradicional / home y no usa systemd-homed.

Por supuesto, depende de las distribuciones individuales decidir cuándo incluirán y respaldarán systemd-homed y homectl.

Por lo tanto, nadie necesita entrar en el modo de horquillas y antorchas encendidas. Debido a que se mantendrán los métodos estándar de administración de usuarios y directorios de inicio, siempre tendremos opciones.

Experto Geek - Tu Guía en Tendencias Tecnológicas