Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:ethical-hacker:extras:sincara-systemd [27/02/2025 03:41] – [Sockets] mateinfo:cursos:pue:ethical-hacker:extras:sincara-systemd [28/02/2025 03:51] (actual) – [Logs] admin
Línia 350: Línia 350:
  
 == Mount == Mount
 +  * **/etc/fstab**
 +    * El script systemd-fstab-generator(8) traduce todas las entradas presentes en /etc/fstab en unidades de systemd, esto se realiza en el momento del arranque y cada vez que se vuelve a cargar la configuración del gestor del sistema. 
 +    * En un disco particionado con GPT, el script systemd-gpt-auto-generator(8) montará particiones siguiendo la  especificación de particiones detectables , por lo tanto, las mismas se pueden omitir de fstab.
 +  * El nombre del unit file guarda relación con el punto de montaje del sistema de archivos. Si el punto de montaje es **/mnt/backups**, el nombre del unit file debe de ser mnt-backups.mount.
 +  * ''man 5 systemd.mount'' #
 +  * ''man 1 systemd-mount'' #
 +  * ''systemctl -t mount'' #
 +  * https://manuais.iessanclemente.net/index.php/Gesti%C3%B3n_de_Puntos_de_Montaje - Gestión de Puntos de Montaje
 +  * https://wiki.archlinux.org/title/Systemd_(Espa%C3%B1ol)#Montaje - Mount Units
 +
 +== Automount
 +  * Los automounts en systemd son un tipo de unidad que permite montar automáticamente sistemas de archivos en un directorio determinado cuando este es accedido por primera vez, y desmontarlos cuando ya no son necesarios.
 +  * Para cada automount en systemd es necesario tener un mount correspondiente.
 +    * ''man 5 systemd.automount''
 +    * ''systemctl -t automount''
 +    * ''systemctl list-automounts''
 +    * ''systemctl cat proc-sys-fs-binfmt_misc.automount''
 +
 +MATE EXTRA: [[https://community.hetzner.com/tutorials/automount-filesystems-with-systemd]]
 +
 +== PATH
 +  * https://www.linux.com/topic/desktop/systemd-services-monitoring-files-and-directories/ - Systemd Services: Monitoring Files and Directories
 +  * systemctl list-paths #
 +
 +
 +== Temporales
 +  * Hay varios servicios que crean o borran ficheros o directorios:
 +    * systemd-tmpfiles-clean.service
 +    * systemd-tmpfiles-setup-dev.service
 +    * systemd-tmpfiles-setup.service
 +      * systemctl cat systemd-tmpfiles-setup.service # Para su configuración
 +== Configuración
 +  * Los archivos de configuración se almacenan en los siguientes directorios:
 +    * /usr/lib/tmpfiles.d/
 +    * /run/tmpfiles.d/
 +    * /etc/tmpfiles.d/
 +  * Los archivos de configuración se proporcionan normalmente junto con los archivos de servicio, y reciben su nombre en el estilo /usr/lib/tmpfiles.d/**programa**.conf
 +  * ''cat /usr/lib/tmpfiles.d/tmp.conf'' # Vemos el contenido de tmp.conf
 +    * q /tmp     1777 root root 10d
 +    * q /var/tmp 1777 root root 30d
 +  * ''systemd-tmpfiles %%--cat-config%%'' # Vemos la configuración de TODOS los ficheros
 +  * Para ver la sintaxis de la creación, borrado o gestión de los temporales:
 +    * 🇬🇧 https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html - Página man
 +    * man 5 tmpfiles.d # Para verlo en local
 +  * Si hacemos un cambio en algún fichero, no lo va a ver hasta que rebotemos el sistema, o hasta que ejecutemos los siguientes comandos:
 +    * ''systemd-tmpfiles %%--create%%'' # Crea los temporales especificados
 +    * ''systemd-tmpfiles %%--remove%%'' # Borra los temporales especificados
 +    * ''systemd-tmpfiles %%--clean%%''  # Vacía el contenido de los temporales especificados
 +    * Es posible especificar las tres opciones juntas en una sola orden. En ese caso, ''%%--create%%'' siempre es lo que se ejecuta lo último.
 +  * Los usuarios pueden tener sus propios ficheros temporales, definidos en el siguiente directorio:
 +    * **~/.config/user-tmpfiles.d/** 
 +    * ''systemd-tmpfiles %%--user --create%%'' # Para gestionar sus propios temporales
 +    * ''systemd-tmpfiles %%--user --cat-config%%'' # Para verlos
 +  * Uso
 +    * ''df -t tmpfs -h'' # Para ver los sistemas de ficheros de tipo **tmpfs** montados en memoria
 +    * ''journalctl -b -u systemd-tmpfiles'' # Para ver los logs
 +    * ''systemctl cat systemd-tmpfiles-clean.timer'' # Se ejecuta una vez al día, y 15 minutos después de arrancar
 +  * Información general
 +    * https://wiki.archlinux.org/title/Systemd_(Espa%C3%B1ol)#Archivos_temporales
 +    * https://wiki.archlinux.org/title/Tmpfs_(Espa%C3%B1ol)
 +    * https://mastering-linux.com/engineer/systemd#managing-temporary-files
 +    * 🇬🇧 https://www.baeldung.com/linux/systemd-tmpfiles-configure-temporary-files
 +
 +== Seguridad, monitorización, análisis
 +  * https://www.linuxjournal.com/content/systemd-service-strengthening - Systemd Service Hardening con el comando systemd-analyze security
 +  * 🇬🇧 https://0pointer.de/blog/projects/security.html - Explicación de algunas de las características de seguridad
 +  * 🇬🇧 https://github.com/tim-seoss/rest-server/commit/76d995edfc45b7ed913c1125c3a95f626841276e - Ejemplo de mejora de la seguridad de un comando
 +
 +=== Arranque
 +  * ''systemd-analyze plot > graph1.svg ; eog graph1.svg'' # Crea un gráfico de todo el arranque del sistema, y lo visualiza con la app gráfica eog
 +  * ''systemd-analyze blame | less'' # Lo mismo, pero en modo texto, aunque no muestra dependencias ni paralelismo. Ordena la salida por tiempo que tarda cada componente en estar disponible, para poder ver a quien culpar (blame) en caso de retardo
 +  * ''systemd-analyze dot %%'avahi-daemon.'%%'' | dot -Tsvg > avahi.svg ; eog avahi.svg # Para ver las dependencias de un componente concreto en modo gráfico
 +  * ''systemd-analyze critical-chain'' # Muestra el árbol de dependencias de targets y de los servicios que bloquean la activación de cada target
 +  * 🇬🇧 https://www.thegeekdiary.com/systemd-analyze-command-examples-in-linux/ - Info
 +
 +=== Monitorización
 +  * ''systemctl status'' # Estado general de SystemD, mostrando todos los procesos lanzados con sus PIDs
 +  * ''systemctl %%--no-page --state=failed%%'' # Para ver si alguna unidad ha fallado
 +  * ''systemctl %%--no-page%%'' # Para ver todas las unidades lanzadas, ordenadas por tipo
 +
 +=== Logs
 +== journalctl
 +  * https://atareao.es/tutorial/trabajando-con-systemd/journalctl-y-logs-en-systemd/ - Buen resumen
 +  * https://www.solvetic.com/tutoriales/article/4051-administrar-logs-eventos-systemd-journalctl-linux/ - Cómo hacer persistentes los logs con journalctl, si no están almacenando
 +  * Ejemplos de comandos:
 +    * journalctl -u ruiz-tapiador.service # Mensajes generados por el servicio y por SystemD
 +      * journalctl UNIT=ruiz-tapiador.service # Mensajes generados por SystemD (arranque del servicio, parada, etc...)
 +      * journalctl _SYSTEMD_UNIT=ruiz-tapiador.service # Mensajes generados por el propio servicio (problemas al cargar algo, errores..)
 +    * journalctl -p emerg..err # Mensajes con prioridad entre emerg y err
 +      * journalctl -p 0..4    # Mensajes con prioridad entre emerg y err
 +      * journalctl -p 4       # Mensajes con prioridad entre emerg y err
 +      * journalctl -p 4..4    # Mensajes con prioridad err
 +      * Colores de las prioridades:
 +        * 3-0 - rojo
 +        * 4 - amarillo
 +        * 5 - blanco en negrita
 +        * 6 - blanco
 +        * 7 - gris
 +      * 
  • info/cursos/pue/ethical-hacker/extras/sincara-systemd.1740656518.txt.gz
  • Darrera modificació: 27/02/2025 03:41
  • per mate