Hoy es la última clase del curso de LPIC-1.
Hacemos un repaso de udev, explicamos el systemd y hacemos tests de preparación para el examen oficial LPIC-1.
repaso udev:


Este programa usa reglas udev

BadUsb: lapiz USB con programa dentro, se comporta como si alguien metiera comandos: scripts.
USBGuard permite protegerse de BadUSB por ejemplo.
Keylogger por USB:

keylogger usb por hardware! almacena todo lo picado en el ordenador

Librerías compartidas

ldd => nos dice las librerías que usa el programa que le indiquemos:

so: system object (los DLL en Windows)
cat /etc/ld.so.conf -> le dice a todos los programas del sistema, dónde están las librerías que necesitan:


cat /etc/ld.so.cache => “Greatest hits” de las librerías

Si añadimos o quitamos rutas de librerías, tenemos que ejecutar después “ldconfig” para que re-lea todas las rutas de librerías. ldconfig: para no tener que reiniciar la máquina.
export LD_LIBRARY_PATH=/lib:/user/lib
Si temporalmente queremos poner más rutas, agregamos las rutas a esta variable de entorno y se usaran las del so.conf y las que aquí pongamos.
Va bien si eres programador y no quieres poner tus librerias en lka ruta de librerias del sistema: le agregamos una ruta de nuestras propias librerías.
systemd
Empezó siendo sólo el proceso 1, el proceso init, pero claro, ha evolucionado mucho! es una gran ameba.
services: demonios
socket: elemento que tiene un puerto de red abierto, estarlo escuchando, pero él no es el programa, es el perrito guardian que está escuchando ese puerto y cuando alguien entra, pone el servicio en marcha
Los sockets levantan servicios bajo demanda.
systemd: sistema unificado para hacer varias cosas
3 estados básicos: apagado, encendido modo terminal, encendido modo gráfico
target: conjunto de servicios que se han de poner en marcha y otro conjunto de servicio sque se han de apagar
cat /etc/inittab => se usa si no se usa el systemd
run levels: eran los targets
run level 0: apagado
comando “init 0” cambiamos de target.
init 6: runlevel 6, reiniciar la maquina
init 3: modo texto
init 5: run level modo gráfico (target modo gráfico)
systemctl get-default: nos dice en qué run level (palabra antigua) estamos, en qué target estamos

poweroff == systemctl poweroff == systemctl ir al estado power off
unit “.timer” sustituye al Cron
unit “.service” son los demonios





sudo systemctl stop apache2
Para decir que en los próximos arranques se ponga en marcha:
sudo systemctl enable apache2
Si no queremos que se ponga en marcha en los inicios:
sudo systemctl disable apache2
sudo systemctl mask apache2 => lo deshabilitamos y prohibimos que se puede poner en marcha nunca
sudo systemctl unmask apache2 -> se vuelve a habilitar
ver si están habilitados o no servicios:
sudo systemctl is-enabled apache2 -> para saber si en los reinicisos, se pone en marcha
sudo systemctl is-active apache2 -> está activo?
Configuración de los servicios:
archivos .services
Pueden estar en la carpeta /lib/systemd/system

ls /etc/systemd/system

son los archivos que systemd leerá para saber como tiene que interactuar con ese programa cuando tu hagas un start, un stop, un enable, etc…

si hay un archivo service que se llama igual en los dos sitios, manda el que está en la carpeta etc.

type=forking->forking indica que es un servicio
type=simple->forzamos a que un programa convencional lo tenga controlado en systemctl
ejmpñlo nc (net cat) no tiene archivo service, no es un servicio!
nc -l -p 5555
El net cat no sabe ponerse en segundo plano. Tendríamos que invocarlo como type=simple.
tipo oneshoot->una sola vez
cuando hacemos systemctl start apache2, realmente haecmos lo que indica ExecStart. Lo mismo para ExecStop.
Restart=on-abort => ¿en qué casos voy a reiniciar automáticamente el servicio? (por ejemplo si ha habido un CTRL+C)



systemctl start ssh es ejecutar esto: /usr/sbin/sshd -D $SSHD_OPTS, como dice el ExecStart

man system.unit
plantillas:
cat /lib/systemd/system/ssh@.service

sudo systemctl start ssh@pepito => poder arrancar el servicio de una manera diferente, según lo que panemos después de la @
Exámenes
wall :write all
/proc/cmdline -> indica los parámetros con los que se arrancan el kernel
si añadimos el parámetro systemd.unit = rescue.target, ya entramos con loas minimas opciones, pero como root sin contraseña
configuracion del SysV: /etc/inittab
Carpeta donde están los repos en un sistema Red Hat: ls /etc/yum.repos.d/*.repo
En un sistema Debian: cat /etc/apt/sources.list
splash: animacion en la carga del sistema (es un parámetro del kernel)
apt va a internet busca mira las dependencias y descarga
dpkg instala
sudo apt get postfix
sudo dpkg-reconfigure postfix => reconfigura el paquete! (ejemplo, configuracion cups, etc….)

“inotify-tools is a C library and a set of command-line programs for Linux providing a simple interface to inotify. These programs can be used to monitor and act upon filesystem events. “
HIDS, Sistema de detección de intrusos en un Host. Busca detectar anomalías que indican un riesgo potencial, revisando las actividades en la máquina (host). Puede tomar medidas protectoras. Las funciones de este tipo de software son muy similares a las de los IDS.
SWAP: partición de disco duro usado como ram
Deshabilitar swap: swapoff
Activarla: swapon
yum update OJO! no actualiza la lista de reprositiorios!!! actualiza el sistema
Hace la actualizacion del sistema y es equivalente al yum upgrade

rm -rf == rmdir
touch… funcion real: cambia la fecha del archivo! ( tocar! 🙂 )


2> -> salida de error
1> -> salida normal, es lo mismo que >
0 es la entrada
>> agrega
> sobre-escribe
SIGINT = señal 2 = Ctrl+C

egrep = grep -E -> permite usar más expresiones regulares que las permitidas normalmente -> ponemos en marcha el grep con todo el arsenal.
Hector Moreno S.->compi LPIC-1
Mi certificado de realización del curso Linux LPIC-1:
