GNU/Linux >> Tutoriales Linux >  >> Linux

Administre los directorios de inicio de los usuarios de Linux con systemd-homed

Todo el concepto y la implementación de systemd han introducido muchos cambios desde que comenzó a reemplazar las antiguas herramientas de inicio e inicio de SystemV. Con el tiempo, systemd se ha extendido a muchos otros segmentos del entorno Linux.

Un servicio relativamente nuevo, systemd-homed, amplía el alcance de systemd a la gestión de los directorios principales de los usuarios. La función impone el acceso de usuarios humanos únicamente y restringe a los usuarios del sistema en el rango de ID de usuario (UID) entre 0 y 999. Apoyo el plan de systemd para dominar el mundo, pero me preguntaba si esto era un poco excesivo. Luego investigué un poco.

¿Qué es systemd-homed?

El servicio systemd-homed admite la portabilidad de la cuenta de usuario independientemente del sistema informático subyacente. Un ejemplo práctico es llevar su directorio de inicio en una memoria USB y conectarlo a cualquier sistema que lo reconozca y lo monte automáticamente. Según Lennart Poettering, desarrollador líder de systemd, nadie debe permitir el acceso al directorio de inicio de un usuario a menos que el usuario haya iniciado sesión. El servicio de systemd-homed está diseñado para mejorar la seguridad, especialmente para dispositivos móviles como computadoras portátiles. También parece una herramienta que podría ser útil con contenedores.

Este objetivo solo se puede lograr si el directorio de inicio contiene todos los metadatos del usuario. El archivo ~/.identity almacena la información de la cuenta de usuario, a la que solo puede acceder systemd-homed cuando se ingresa la contraseña. Este archivo contiene todos los metadatos de la cuenta, incluido todo lo que Linux necesita saber sobre usted, de modo que el directorio de inicio sea portátil para cualquier host de Linux que use systemd-homed. Este enfoque evita tener una cuenta con una contraseña almacenada en cada sistema que pueda necesitar usar.

El directorio de inicio también se puede cifrar con su contraseña. En systemd-homed, su directorio de inicio almacena su contraseña con todos sus metadatos de usuario. Su contraseña cifrada no se almacena en ningún otro lugar, por lo que nadie puede acceder a ella. Aunque los métodos utilizados para cifrar y almacenar contraseñas para los sistemas Linux modernos se consideran irrompibles, la mejor protección es evitar que se acceda a ellos en primer lugar. Las suposiciones sobre la invulnerabilidad de su seguridad han llevado a muchos a la ruina.

Este servicio está diseñado principalmente para su uso con dispositivos portátiles como computadoras portátiles. Poettering afirma:"Homed está diseñado principalmente para máquinas cliente, es decir, computadoras portátiles y, por lo tanto, máquinas de las que normalmente usa ssh mucho más que ssh, si entiende lo que quiero decir". No está diseñado para usarse en servidores o estaciones de trabajo que están conectados a una sola ubicación mediante cables o bloqueados en una sala de servidores.

El servicio systemd-homed está habilitado de forma predeterminada en las nuevas instalaciones, al menos para Fedora, que es la distribución que uso. Esta configuración es por diseño y no espero que eso cambie. Las cuentas de usuario no se ven afectadas ni alteradas de ninguna manera en sistemas con sistemas de archivos existentes, actualizaciones o reinstalaciones que mantienen las particiones existentes y los volúmenes lógicos.

Creación de usuarios controlados

Herramientas tradicionales como useradd crear cuentas y directorios de inicio que systemd-homed no administra. Por lo tanto, si continúa utilizando las herramientas de administración de usuarios convencionales, systemd-homed no administrará los directorios de inicio en sus directorios de inicio. Este también es el caso con la cuenta de usuario no root creada durante una nueva instalación.

El comando homectl

El homectl El comando crea cuentas de usuario que administra systemd-homed. Usando el homectl El comando para crear una nueva cuenta genera los metadatos necesarios para que el directorio de inicio sea portátil.

El homectl La página del comando man tiene una buena explicación de los objetivos y la función del servicio systemd-homed. Sin embargo, leyendo el homectl La página de manual es bastante interesante, especialmente la sección Ejemplo. De los cinco ejemplos, tres muestran cómo crear cuentas de usuario con límites específicos impuestos, como un número máximo de procesos simultáneos o una cantidad máxima de espacio en disco.

En una configuración no homectl, /etc/security/limits.conf archivo impone estos límites. La única ventaja que le veo a esto es que agrega un usuario y aplica los límites con un solo comando. Con el método tradicional, el administrador del sistema debe configurar limits.conf archivo manualmente.

Limitaciones

La única limitación importante que conozco es que no es posible acceder al directorio de inicio de un usuario de forma remota mediante OpenSSH. Esta limitación se debe a la incapacidad actual de PAM para brindar acceso a un directorio principal administrado por homectl . Poettering parece dudoso que esto pueda superarse. Este problema me impediría usar systemd-homed para mi directorio de inicio en mi estación de trabajo principal o incluso en mi computadora portátil. Por lo general, inicio sesión en ambas computadoras de forma remota varias veces al día usando SSH, por lo que esto es un éxito para mí.

La otra preocupación que puedo ver es que aún necesita una computadora con Linux para usar con una memoria USB con su directorio de inicio, y esa computadora debe tener systemd-homed ejecutándose.

Es opcional

Sin embargo, no tienes que usarlo. Planeo continuar usando las herramientas tradicionales para la administración de usuarios para respaldar mi flujo de trabajo. El valor predeterminado para las pocas distribuciones de las que tengo poco conocimiento, incluida Fedora, es que el servicio systemd-homed esté habilitado y en ejecución. Puede deshabilitar y detener el servicio systemd-homed sin afectar las cuentas de usuario tradicionales.

Reflexiones finales

Los administradores de sistemas pueden usar el servicio systemd-homed para una forma segura de administración de los directorios principales de los usuarios itinerantes. Es útil en dispositivos portátiles como computadoras portátiles y puede ser especialmente útil para los usuarios que llevan una memoria USB que contiene solo sus directorios de inicio para conectarla a cualquier computadora Linux conveniente.

La principal limitación de usar systemd-homed es que es imposible iniciar sesión de forma remota usando SSH. Y aunque systemd-homed está habilitado de forma predeterminada, no afecta a los directorios de inicio creados con useradd dominio. Debo señalar que, como muchas herramientas systemd, systemd-homed es opcional. Así que detuve y deshabilité el servicio.

Si necesito tomar mi directorio de inicio en un paquete más pequeño que mi computadora portátil, puedo usar un USB en vivo con almacenamiento persistente.

Recursos

  • https://systemd.io/HOME_DIRECTORY/
  • https://www.freedesktop.org/software/systemd/man/homectl.html
  • https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html
  • https://wiki.archlinux.org/title/Systemd-homed

Linux
  1. Administrar usuarios de Linux y grupos de Linux

  2. Lista de usuarios en Linux:el mejor método

  3. Cómo administrar usuarios con useradd en linux

  4. Cómo crear un usuario con un directorio de inicio personalizado en Linux

  5. Administrar grupos de usuarios de Linux

Primeros pasos con GIT en Linux

Listado de usuarios en Linux explicado con ejemplos

Eliminar usuarios en Linux con el comando Userdel

Agregar nuevos usuarios en Linux con el comando Useradd

Cómo crear y administrar nuevos usuarios en Linux

Cómo administrar el almacenamiento con GParted Linux