SPRINT 2: INSTAL·LACIÓ, CONFIGURACIÓ DE PROGRAMARI DE BASE I GESTIÓ DE FITXERS


1. Sistemes de fitxers i particions

Mida sector

Es la unidad mínima física en la que se guardan los datos en un disco. Por defecto, el tamaño del sector es de 512 bytes y no puede modificarse.

2025-12-01_19-18

Mida block

Es la unidad mínima lógica en la que se guardan los datos a nivel de sistema operativo. Por defecto, el tamaño es de 4096 bytes (8 sectores) y sí se puede modificar cuando se formatea la partición. Cada partición del disco puede tener un tamaño de blog y un sistema de archivos diferente.

2025-12-01_19-20

Fragmentación interna

Se produce cuando los blogs son demasiado grandes para lo que se quiere guardar y se acaba desperdiciando espacio en el disco.

Fragmentación externa

Se produce cuando un archivo no está guardado en bloques consecutivos de la memoria. Esto provoca que los accesos sean más lentos y, por tanto, baja el rendimiento.

2025-12-01_19-23

Sistemes de fitxers

Hay muchos tipos, cada uno optimizado para diferentes usos, y cada sistema tiene unas limitaciones.

Windows: NTFS y FAT32

2025-10-27_13-02_1

Ubuntu: ext4

2025-10-27_13-02

Tipus de formateig

Bajo nivel: Borra archivos y el sistema de archivos. Trate de reparar sectores defectuosos, pero requiere programas específicos y no se puede realizar mediante el SO.

Medio nivel: Al igual que el de alto nivel, pero marca los sectores defectuosos si los hay.

Alto nivel: No borra los archivos, sólo el sistema de archivos. Si encuentra sectores defectuosos, los ignora.

Partició

Una partición es un pedazo físico del disco duro. Con GPARTED podemos gestionar particiones, pero no podemos modificar el tamaño de blog.

Volum

Es una capa de abstracción que se coloca sobre las particiones y/o discos.

Gestió de particions

Herramienta GPARTED

2025-10-27_12-34

2025-10-27_12-43

2025-10-27_12-42

Comandos: herramientas CLI para gestionar particiones Particiones

2025-10-27_12-51

Medida de las particiones

2025-10-27_13-04

Crearemos la carpeta p1 y montamos la partición de disco /dev/sdb1 en el directorio /mnt/p1

2025-10-27_13-10

2025-10-27_13-14

Añadimos la partición /dev/sdb1 al archivo /etc/fstab para montarla automáticamente como ext4 en el punto /mnt/p1 cada vez que el sistema se encienda.

2025-10-27_13-18

2025-10-27_13-21


2. Gestió de processos

Configuración Previa y Archivos del Sistema Antes de empezar con la creación de usuarios, hicimos una revisión de los principales archivos de configuración para entender dónde se almacena la información en el sistema. Revisión del Entorno Gráfico En primer lugar, comprobamos el estado de los usuarios desde la interfaz gráfica para ver las opciones disponibles y confirmar la existencia del usuario ClienteUsuari.

2025-11-04_12-50

Función del Archivo /etc/passwd: Iremos a mirar el archivo /etc/passwd, que es fundamental porque contiene la lista de todos los usuarios del sistema. Para cada usuario, nos indica el nombre, el identificador de usuario (UID), el identificador de grupo primario (GID), el directorio personal y la shell que se ejecutará al iniciar la sesión.

2025-11-04_12-53

Función de Archivo /etc/shadow: Este archivo es crítico para la seguridad. Comprobamos su contenido, sabiendo que guarda los hashes (contraseñas cifradas) de los usuarios y la información sobre la antigüedad y caducidad de las contraseñas. Sólo el usuario root tiene permiso para leerlo.

2025-11-04_12-55

Función de Archivo /etc/group: Hemos examinado el archivo /etc/group, que sirve para definir todos los grupos existentes en el sistema y listar qué usuarios pertenecen a cada grupo secundario.

2025-11-04_12-56

Función del Archivo /etc/gshadow: Por último, revisamos /etc/gshadow, que es el equivalente seguro de /etc/group. Este archivo se utiliza para guardar contraseñas cifradas para grupos, en caso de que un grupo sea protegido con contraseña, y gestiona los administradores de cada grupo.

2025-11-04_12-58


3. Gestió d’usuaris i grups i permisos

Creación y Gestión del Usuario gina Ahora iremos a crear el usuario gina utilizando el comando adduser, que es la herramienta más sencilla, ya que automatiza muchos pasos. Creación con adduser y Asignación de Contraseña: Hemos ejecutado adduser gina. El proceso nos ha creado el usuario, el grupo primario y nos ha pedido la contraseña. Comprobamos que el sistema nos avisa si la contraseña es demasiado corta.

2025-11-04_13-02

Verificación del Directorio Personal: Verificamos que el comando adduser creó automáticamente el directorio /home/gina con su estructura interna por defecto.

2025-11-04_13-05

Creación y Configuración Avanzada del Usuario gina2: Para demostrar un método más manual, creamos el usuario gina2 con useradd y tuvimos que configurar su entorno después. Acciones que llevamos a cabo:

Crear el usuario (useradd), establecer la contraseña (passwd), modificar la shell de inicio de sesión en /bin/bash (usermod -s), crear el directorio personal manualmente (mkdir), cambiar el propietario del directorio de root en gina2 (chown).

2025-11-04_13-12

Bloqueo y Desbloqueo de Usuarios (Gestión Fina de gina): Una vez que el usuario gina estaba operativo, demostramos cómo podemos bloquear una cuenta temporalmente, evitando que nadie pueda iniciar sesión sin necesidad de eliminar al usuario.

3Bloqueo (usermod -L) y Desbloqueo (usermod -U) ¿Qué hace el bloqueo?: Utilizamos usermod con la opción -L(Lock). Comprobamos con grep que el sistema añade un signo de admiración (!) al principio del hash de la contraseña en el archivo /etc/shadow, invalidándola.

¿Qué hace el desbloqueo?: Luego utilizamos la opción -U (Unlock) de usermod, que elimina el signo de admiración y restaura la funcionalidad de la contraseña.

2025-11-04_13-29

2025-11-04_13-30

Eliminación de Usuarios: Finalizadas las pruebas, procedimos a la eliminación de los usuarios gina y gina2 utilizando los métodos habituales.

Eliminación del Usuario gina con deluser: Eliminamos gina con deluser, que es el pedido recomendado para sistemas Debian/Ubuntu. Este pedido se encarga de limpiar las referencias al grupo primario del usuario si no tiene más miembros.

Eliminación del Usuario gina2 con userdel -r: Eliminamos gina2 con userdel utilizando la opción -r (remove home directory) para borrar también su directorio personal. Utilizamos este comando ya que gina2 fue creado con el método useradd (más manual).

2025-11-04_13-24

Cambio de Nombre y Eliminación del Grupo asixb: Para practicar la modificación de grupos, cambiamos el nombre de asixb a asix con el comando groupmod -n. Luego, eliminamos el grupo utilizando groupdel.

¿Qué hace groupmod -n?: Modifica el nombre de un grupo sin afectar al GID ni a los usuarios miembros.

2025-11-04_13-35

Cambio de Nombre de Grupo Hicimos otro ejemplo de cambio de nombre para consolidar el conocimiento, cambiando el grupo parchis a damas.

2025-11-17_11-54

Verificación de Nuevos Usuarios (Usuarios de Colores): Comprobamos que los usuarios con nombres de colores (azul, rojo, amarillo y verde) se habían creado correctamente, observando las últimas líneas del archivo /etc/passwd. Esto nos permite ver sus UID y GID asignados.

2025-11-17_11-53

Gestión Avanzada de Miembros de Grupos: Demostramos diferentes formas de añadir y sacar usuarios de un grupo existente, utilizando herramientas especializadas para la gestión de miembros. Métodos para Añadir Usuarios a Grupos Secundarios: Para un grupo de prueba (asix1r), añadimos tres usuarios (ivan, paz, iker) utilizando tres pedidos diferentes, ya que cada uno tiene un uso ligeramente distinto.

2025-11-04_13-38

Administración y Gestión de Miembros con gpasswd: Utilizamos gpasswd para demostrar cómo asignar administradores de grupo y cómo intentaríamos eliminar a sus miembros.

¿Qué hace gpasswd -A?: Añade un usuario como administrador del grupo.

Añadimos aaron como administrador de asix1r y comprobamos la modificación en el archivo /etc/gshadow, que es donde se guardan estos permisos.

2025-12-01_21-14

Métodos para Eliminar Usuarios de Grupos: Utilizamos el grupo parchis (con miembros rojo, verde y amarillo) para demostrar los dos pedidos principales para sacar a miembros de un grupo:

2025-11-17_11-58

2025-11-17_12-02

Preparo la Plantilla de Usuario (/etc/skel) Ante todo, entro en el directorio esquelético (/etc/skel), que es la plantilla para los nuevos usuarios. Yo quiero que, por defecto, tengan algo más que los archivos básicos. He creado una nueva carpeta que he llamado prueba (mkdir prueba), un archivo vacío llamado hola (touch hola) y de esta forma, cualquier usuario nuevo que cree a partir de ahora tendrá estos dos elementos en su directorio personal.

2025-11-17_12-07

Definimos los Parámetros Generales (/etc/adduser.conf) Luego, voy a configurar cómo deben crearse los usuarios con la herramienta adduser. He editado el archivo /etc/adduser.conf y he realizado tres cambios clave: Cambio la ubicación de los Home Directorias: He cambiado DHOME del estándar /home a /var. Esto significa que los directorios personales irán a /var/nombre_usuario.

Cambio los UIDs/GIDs: Quiero que los nuevos usuarios y sus grupos empiecen a partir de 3000; por eso he definido FIRST_UID=3000 y FIRST_GID=3000.

2025-11-17_12-10

2025-11-17_12-12

Definimos las Reglas de Seguridad (/etc/login.defs) Por motivos de seguridad, he definido una política de contraseñas global. En /etc/login.defs, he establecido estas reglas: Validez Máxima: He puesto PASS_MAX_DAYS 20. Las contraseñas caducarán a los 20 días.

Intervalo Mínimo: He puesto PASS_MIN_DAYS 15. Habrá que esperar 15 días entre cambio y cambio de contraseña.

Avisos: He definido PASS_WARN_AGE 3. El usuario recibirá un aviso 3 días antes de que la contraseña caduque.

2025-11-17_12-13

Me aseguro que Shell sea Bash (/etc/default/useradd) Como la herramienta useradd es de bajo nivel ya veces utiliza una shell más simple (/bin/sh), he editado /etc/default/useradd y he cambiado SHELL a /bin/bash. Así me aseguro que cualquier usuario, independientemente de cómo se cree, utilice Bash.

2025-11-17_12-19

Pongo en Prueba la Configuración (Usuario negro) He creado el usuario negro utilizando el comando useradd negro. Después he comprobado el resultado: He visto que se le ha asignado el UID 3001 (el siguiente al 3000).

He comprobado que su shell es /bin/bash.

2025-11-17_12-20

Verifico que Todo Funcione (Usuario gris) Éste es el paso donde se ve que la configuración global ha funcionado correctamente. Después de crear el usuario gris (que ha cogido el UID 3000, el primero disponible): Compruebo su perfil: Veo que el usuario gris tiene el UID/GID 3000 y su directorio personal está correctamente en /var/gris.

Compruebo la seguridad: En /etc/shadow, confirmo que las reglas de caducidad (15 días mínimo, 20 días máximo, 3 días de aviso) se han aplicado correctamente.

Compruebo la plantilla: Cuando listo el contenido de /var/gris, veo los archivos de sesión (como .bashrc) y, muy importante, la carpeta prueba y el archivo hola.

2025-11-17_12-15

2025-11-17_12-17

2025-11-17_12-17_1

2025-11-17_12-20

Personalizo el Inicio de Sesión (.profile) Ahora vuelvo a la plantilla (/etc/skel) para añadir más personalización. He editado el archivo .profile y he añadido la línea PWD=”/var/$USER”. Con esto intento asegurarme de que, cuando un usuario haga login, esté bien situado en su directorio en /var.

2025-11-17_12-27

Añado un Alias ​​(.bashrc) Después, he editado el archivo .bashrc de la plantilla. Aquí he creado un sobrenombre, que es un atajo de pedido: He añadido: alias connexio=’ls -la’

Esto significa que todos los nuevos usuarios podrán escribir conexion en lugar del pedido más largo.

2025-11-17_12-30

Configuro la Limpieza Automática (.bash_logout) Y el último cambio es la limpieza automática. He editado el archivo .bash_logout (el que se ejecuta cuando cierras la sesión) y he añadido un pedido fuerte: He añadido: rm -r /var/”$USER”/*

Con ello, todo el contenido del directorio personal del usuario se borrará automáticamente cada vez que cierren la sesión. Así, su espacio de trabajo será siempre temporal.

2025-11-17_12-32

Verificación de Inicio de Sesión He comprobado que la usuaria rosa puede hacer login sin problemas y listar el contenido de su directorio. Esta acción confirma que el usuario se ha creado correctamente.

2025-11-17_12-35

Prueba de Permisos Compartidos He creado el directorio palomas/ y he aplicado los permisos rwxr-xr– para realizar un test de seguridad. He verificado que: El propietario (nick) puede escribir y borrar.

El miembro del grupo (cire) sólo puede entrar y leer.

Los demás usuarios (ferran) tienen el acceso denegado (r–).

2025-12-20_20-38

2025-12-20_20-40

ACL

Proba de Permisos Tradicionales y ACL Básica ¿Qué hago aquí? Primero, creo un par de elementos para realizar pruebas: un directorio llamado pruebas y un archivo llamado pruebas2.

Asigno permisos tradicionales:

En el directorio pruebas, le pongo 750 (chmod 750 pruebas). Esto significa que el propietario (yo) tiene todo el control, el grupo puede leer y entrar (r-x), y los demás no tienen permiso (—).

Miro las ACLs:

Ejecuto getfacl en el directorio pruebas para comprobar si hay ACLs aplicadas, y veo que de momento sólo existen los permisos tradicionales.

2025-11-24_11-58

2025-11-24_12-00

Asignación y Verificación de ACL Específico ¿Qué hago aquí? Quiero dar acceso de escritura a un usuario concreto (rojo) en un archivo, sin cambiar los permisos del grupo u otros.

Aplico una ACL: Uso setfacl -m user:rojo :rw- proves2. Con esto, le doy permisos de Lectura y Escritura (rw-) al usuario rojo sólo sobre el archivo proves2.

Verifico la ACL: Cuando ejecuto getfacl proves2, veo claramente que el usuario rojo aparece en la lista con rw-, mientras que el grupo y los demás usuarios continúan con permisos restringidos.

Pruebo el acceso (Usuarios azul y rojo):

Intento entrar como azul y modificar el archivo, pero fallo (ni siquiera tengo permisos de sudo).

Cuando entro como rojo y ejecuto nano /var/proves2, puedo abrir el archivo y empezar a editarlo.

2025-11-24_12-02

2025-11-24_12-03_1

2025-11-24_12-03

2025-11-24_12-04_1

2025-11-24_12-04

Demostración de la Prioridad de ACL ¿Qué hago aquí? Ésta es una prueba avanzada donde demuestro que las ACLs pueden sobreescribir y denegar un permiso que la configuración tradicional sí permitiría.

Creo un directorio compartido abierto: Creo el directorio compartida y le pongo los permisos más abiertos posibles: 777 (rwxrwxrwx). En teoría, todo el mundo debería poder entrar.

Aplico una ACL de denegación: Intencionadamente, utilizo setfacl -m user:roig :— compartida/ para quitar TODOS los permisos al usuario rojo sobre este directorio.

Intento el acceso: Entro como rojo e intento entrar en el directorio (cd /compartida/).

2025-11-24_12-14

2025-11-24_12-14_1

Limpieza de ACL ¿Qué hago aquí? Una vez hecha la prueba de ACL, quiero dejar el archivo como estaba, sin ninguna lista de control de acceso especial.

Elimino ACL: Utilizo setfacl -b pruebas2. El parámetro -b indica que borre todas las ACLs del archivo.

Verifico: Ejecuto getfacl pruebas2 y confirmo que la entrada de usuario rojo:rw- ya no está.

2025-11-24_12-22

2025-11-24_12-25

2025-11-24_12-25_1

Configuración Local de la Máscara de Creación (umask) ¿Qué hago aquí? Esta prueba es para ver cómo la máscara de creación de archivos afecta a los permisos de los elementos nuevos.

Cambio el umask: Cambio el valor de umask en el terminal de 0002 a 0004.

Cree nuevos elementos: Después, creo un directorio (mkdir pruebas) y un archivo (touch proves2).

Listo los permisos: Con ls -l, miro qué permisos tienen los elementos creados con el nuevo umask.

2025-12-01_23-14

Configuración Global de la Máscara de Creación (/etc/login.defs) ¿Qué hago aquí? Quiero aplicar un umask concreto a todos los usuarios del sistema por defecto.

Edito el archivo global: Utilizo nano para editar el archivo /etc/login.defs.

Cambio el valor UMASK: He cambiado el valor por defecto (022) a 033.

2025-12-01_23-14_1


4. Còpies de seguretat i automatització de tasques


Teoria copies de seguretat

Copias de seguridad

Una copia de seguridad es una duplicación de los datos que permite recuperar información en caso de pérdida, daño, error humano, virus o cualquier otro desastre. Estas copias se almacenan de forma independiente de los datos originales, preferiblemente en otro dispositivo, servidor o servicio en la nube.

Normalmente siguen políticas definidas, como el tiempo de retención, el número de versiones guardadas y la realización de pruebas de restauración para asegurar que los datos se pueden recuperar correctamente.

Tipos principales de copia de seguridad Copia completa

Guarda todos los datos cada vez que se realiza la copia.

Es la más lenta y la que ocupa más espacio, pero también la más segura y la más fácil de restaurar, ya que solo se necesita una única copia para recuperar toda la información.

Copia incremental

Solo guarda los cambios realizados desde la última copia, ya sea completa o incremental.

Es muy rápida y ocupa poco espacio. El principal inconveniente es que, para restaurar los datos, se necesita disponer de la copia completa inicial y de todas las copias incrementales posteriores.

Copia diferencial

Guarda todos los cambios realizados desde la última copia completa.

Es más rápida que la copia completa y ocupa un espacio intermedio. La restauración es más sencilla que con las incrementales, pero cada nueva copia diferencial ocupa más espacio hasta que se realiza una nueva copia completa.

Ejemplos de funcionamiento Copia completa

Lunes: copia completa

Martes: copia completa

Miércoles: copia completa

Si se pierde un archivo el jueves, solo es necesario restaurar la copia completa del miércoles.

Copia incremental

Lunes: copia completa

Martes: copia incremental

Miércoles: copia incremental

Para recuperar un archivo perdido el jueves, se necesita la copia completa del lunes y todas las copias incrementales hasta el miércoles.

Copia diferencial

Lunes: copia completa

Martes: copia diferencial

Miércoles: copia diferencial

Si se pierde un archivo el jueves, se necesita la copia completa del lunes y la última copia diferencial, la del miércoles.

RAID y almacenamiento

Los sistemas RAID combinan varios discos para que funcionen conjuntamente, mejorando el rendimiento y/o la seguridad según el tipo de RAID utilizado.

RAID 0 une la capacidad y la velocidad de varios discos, pero no ofrece ninguna protección: si un disco falla, se pierden todos los datos. RAID 1 crea una copia espejo: los datos se duplican y, si un disco falla, el otro continúa funcionando. RAID 5 y RAID 6 distribuyen los datos y la información de paridad entre varios discos, ofreciendo un buen equilibrio entre velocidad y seguridad. RAID 10 combina la velocidad de RAID 0 con la seguridad de RAID 1.

Es importante recordar que RAID no es una copia de seguridad. Si se borran archivos o un virus afecta a los datos, el error se replica en todos los discos.

Imagen de disco

Una imagen de disco es una copia exacta de todo un disco o partición, incluyendo el sistema operativo, los programas, la configuración y los datos. Se utiliza para clonar equipos o restaurar un sistema completo tal y como estaba en un momento concreto.

Es muy completa, pero requiere mucho espacio y tiempo para crearse. A cambio, permite restaurar un ordenador entero en muy poco tiempo.

Snapshot

Un snapshot es una captura instantánea del estado de un sistema de archivos o de un dispositivo de almacenamiento. Normalmente depende de la tecnología utilizada (LVM, ZFS, Btrfs, máquinas virtuales, etc.) y es muy rápido de crear, ya que solo guarda los cambios realizados a partir del momento en que se crea.

Los snapshots son útiles para volver atrás rápidamente o hacer pruebas, pero no son una copia de seguridad segura si se guardan en el mismo disco. Si el disco falla, el snapshot también se pierde.

Resumen final

La copia de seguridad sirve para proteger los datos guardándolos en un lugar seguro. La imagen de disco copia todo el sistema exactamente como está en un momento concreto. El snapshot permite volver atrás rápidamente, pero no protege contra fallos del propio disco.

No se debe confiar únicamente en snapshots locales como única protección. La mejor estrategia combina snapshots para recuperaciones rápidas y copias de seguridad externas para protegerse frente a desastres.

Herramientas de copia

cp → Es una copia simple, no inteligente; solo transfiere archivos localmente. Es muy sencilla de utilizar, pero no está optimizada.

rsync → Es una herramienta inteligente que solo copia los archivos modificados y permite la sincronización local o remota mediante SSH.

dd → Es una herramienta para clonar discos o particiones. No es inteligente, ya que copia todos los sectores.

Comando cp Comando cp (teoría)

El comando cp se utiliza en sistemas operativos Linux y Unix para copiar archivos y directorios de una ubicación a otra. Permite duplicar información manteniendo, si se desea, atributos como permisos, fechas y propietario.

Funcionamiento general

cp copia uno o más archivos a un archivo o directorio de destino. Cuando el destino ya existe, el archivo puede sobrescribirse según las opciones utilizadas. Por defecto, cp solo copia archivos; para copiar directorios es necesario indicarlo explícitamente.

Opciones y parámetros principales Copia recursiva

Permite copiar directorios completos con todos sus subdirectorios y archivos. Sin esta opción, los directorios no se copian.

Modo interactivo

Hace que el sistema solicite confirmación antes de sobrescribir un archivo existente, evitando pérdidas accidentales de información.

Modo forzado

Sobrescribe los archivos de destino sin pedir confirmación, incluso si están protegidos contra escritura.

Modo detallado

Muestra información del proceso de copia, indicando qué archivos se están copiando.

Actualización

Solo copia los archivos que son más nuevos que los del destino o que aún no existen, ahorrando tiempo y espacio.

Conservación de atributos

Mantiene los permisos, el propietario, el grupo y las fechas originales de los archivos copiados.

Modo archivo

Realiza una copia completa conservando la estructura, los atributos y los enlaces, y es la opción más utilizada para hacer copias de seguridad de directorios.

Gestión de enlaces

El comando puede tratar los enlaces simbólicos de varias formas:

Copiar el enlace como enlace

Seguir el enlace y copiar el archivo real

No seguir el enlace y conservarlo tal como está

También permite crear enlaces simbólicos o enlaces duros en lugar de realizar una copia real del archivo.

Otras funcionalidades

cp puede copiar múltiples archivos a la vez a un mismo directorio.

Permite mantener la estructura de directorios original al copiar archivos individuales.

Puede limitar la copia para que no atraviese distintos sistemas de archivos.

Se puede utilizar como herramienta básica dentro de estrategias de copias de seguridad simples.

2025-12-20_22-46

Comando rsync

El comando rsync es una herramienta de Linux/Unix utilizada para sincronizar archivos y directorios entre dos ubicaciones, ya sea dentro del mismo sistema, entre distintos discos o entre equipos a través de la red. Es especialmente eficiente para copias de seguridad y transferencias de grandes volúmenes de datos.

Funcionamiento general

rsync compara los archivos de origen y destino y solo transfiere las diferencias, lo que lo hace mucho más rápido y eficiente que copiar todo el contenido de nuevo. Puede trabajar con archivos locales o remotos y permite mantener los atributos y permisos de los archivos originales.

Opciones y parámetros principales Modo recursivo

Permite copiar directorios completos, incluyendo subdirectorios y archivos. Sin esta opción, solo se copian archivos individuales.

Conservación de atributos

Mantiene propietario, grupo, permisos, fechas y atributos especiales de los archivos copiados. Esto asegura que la copia sea idéntica al original.

Compresión

Reduce la cantidad de datos transferidos cuando se utiliza a través de la red, comprimiendo los archivos durante la transmisión.

Modos detallados

Permite mostrar información del proceso de sincronización, indicando qué archivos se transfieren y cuáles ya están actualizados.

Actualización y sincronización

Solo copia los archivos que han cambiado o que no existen en el destino, evitando duplicaciones innecesarias y ahorrando tiempo y espacio.

Eliminación de archivos obsoletos

Permite eliminar en el destino los archivos que ya no existen en el origen, manteniendo ambas ubicaciones exactamente sincronizadas.

Modos seguros

Puede funcionar a través de conexiones seguras (por ejemplo, SSH) cuando se sincronizan archivos entre distintos equipos, protegiendo la información durante la transferencia.

Enlaces y enlaces simbólicos

rsync puede copiar enlaces simbólicos como enlaces o bien seguirlos y copiar el contenido real, según la configuración.

Otras funcionalidades

Permite filtrar archivos por extensión, nombre o directorios específicos.

Admite transferencias parciales para reanudar copias interrumpidas.

Puede funcionar de forma programada para automatizar copias de seguridad periódicas.

Es muy eficaz para sincronizar grandes cantidades de datos entre servidores, discos locales o sistemas de respaldo.

2025-12-20_22-48

Comando dd

El comando dd es una herramienta de Linux/Unix utilizada para copiar y transformar datos a bajo nivel, normalmente archivos, discos o dispositivos de bloques. Es muy potente y flexible, ya que trabaja directamente con datos binarios y permite hacer copias exactas sector por sector.

Funcionamiento general

dd lee datos desde una fuente y los escribe en un destino especificado, con la posibilidad de transformarlos durante el proceso. Se puede utilizar para crear imágenes de discos, copiar particiones, hacer copias de seguridad de dispositivos completos o incluso escribir archivos de arranque.

Opciones y parámetros principales Input (if)

Define el archivo o dispositivo de origen desde el cual se deben leer los datos.

Output (of)

Especifica el archivo o dispositivo de destino donde se escribirán los datos.

Block size (bs)

Permite establecer el tamaño de los bloques de datos leídos y escritos. Ajustar este tamaño puede mejorar el rendimiento de la copia.

Count

Indica cuántos bloques se deben copiar desde el origen. Permite limitar la cantidad de datos copiados.

Skip

Permite saltar un número determinado de bloques al comenzar a leer del origen, útil para trabajar con fragmentos de discos o archivos grandes.

Seek

Permite saltar bloques en el destino antes de comenzar a escribir, facilitando la copia parcial dentro de un dispositivo o archivo.

conv

Permite aplicar transformaciones a los datos durante la copia, como cambiar mayúsculas/minúsculas, convertir entre formatos o truncar datos.

Status

Muestra información del progreso de la copia, útil en operaciones con grandes cantidades de datos.

2025-12-20_22-50

Automatizació de tasques

cron y anacron son dos herramientas de automatización que permiten ejecutar tareas periódicas.

cron ejecuta tareas programadas en una fecha y hora específicas. Si el sistema está apagado en ese momento, la tarea se pierde. Es ideal para tareas en fechas y horas concretas y para acciones específicas de un usuario.

anacron es ideal para ejecutar tareas periódicas en las que no es necesaria una fecha ni una hora exactas. Normalmente se utiliza para tareas de mantenimiento del sistema y no requiere que el sistema esté encendido en el momento programado, ya que se ejecutará cuando el sistema se inicie.

Cron y Anacron

El cron se guarda en la ruta /etc/crontab y así es como se ve:

2025-12-09_13-17

2025-12-09_13-18

Con este pedido podemos especificar desde qué usuario queremos entrar y la primera vez que entramos nos dirá en qué editor queremos hacerlo.

2025-12-09_13-18_1

Con esta ruta podemos ver todos los binarios del cron.

2025-12-09_13-18_2

Y éste es el anacrono que está guardado con esta ruta:

2025-12-09_13-19

Ahora he programado un script que contiene el siguiente código:

2025-12-09_13-23

Le doy permisos de ejecución

2025-12-09_13-25

compruebo que esta alli

2025-12-09_13-41_1

Y reemplazamos ese valor por 1.

2025-12-09_13-42


5. Quotes d’usuari

¿Qué es una cuota?

En Linux, una cuota es un mecanismo de control de uso de espacio y archivos dentro de un sistema de archivos. Sirve para limitar la cantidad de disco o número de inodos (ficheros) que un usuario o grupo puede utilizar, evitando que una sola persona ocupe todo el espacio y afecte al resto del equipo.

edquota -u usuario -> ver cuotas un usuario

setquota -u usuario -> establecer cuotas 1 usuario

repquota /dev/sdc1 -> informe cuotas de todos los usuarios lo que ocupan

quotaon /mnt/datos -> activar

quotaoff /mnt/datos -> desactivar

quotacheck -cug /mnt/datos -> crear archivos para cuotas usuario y grupo si no están por defecto

Para realizar esta parte necesitamos instalar el paquete cuota.

2025-12-15_11-54

Ahora vamos a crear una carpeta llamada datos.

2025-12-15_12-06

Y haremos el montaje de esta carpeta permanentemente, además aquí añadiremos usrquota y grpquota para que podamos configurar las cuotas aquí.

2025-12-15_12-09

Hacemos un reboot y con este pedido podemos comprobar que está montado correctamente.

2025-12-15_12-15

Con este pedido podemos generar los 2 archivos para las cuotas.

2025-12-15_12-18

Y con estos pedidos activamos y desactivamos las cuotas.

2025-12-15_12-39

Ahora haremos la cuota para el usuario gina.

2025-12-15_12-40

Y le diremos lo máximo que puede llegar a gastar en espacio con esa carpeta.

2025-12-15_12-43

Verificación de cuotas en /dev/sdb Uso de quota y repquota para comprobar límites de disco. Se confirma que el usuario prova no tiene restricciones aplicadas y solo root registra consumo actual.

2025-12-15_12-40_1

Prueba de escritura sin restricciones El usuario prova crea archivos mediante el comando dd. La operación es exitosa, demostrando que no existen límites de cuota bloqueando la escritura en este momento.

2025-12-15_12-46

Estado de cuota excedido El comando repquota muestra que el usuario prova ha superado su límite blando (1024), activando el periodo de gracia de 6 días

2025-12-15_12-47

Límite blando excedido El comando quota -u prova muestra que el usuario ha superado su límite (1600 de 1024 bloques), marcando el uso con un asterisco (*) e iniciando la cuenta atrás de 6 días de gracia.

2025-12-15_12-47_1

Bloqueo por límite duro El sistema interrumpe la escritura del archivo test3 al alcanzar el límite máximo de bloques permitido (límite duro), devolviendo el error: “Se ha excedido la cuota de disco”.

2025-12-15_12-50

Bloqueo total por límite duro repquota confirma que el usuario ha alcanzado el límite máximo permitido (2048 bloques), lo que impide legalmente cualquier escritura adicional en el dispositivo.

2025-12-15_12-50_1

Desactivación de cuotas y escritura libre Tras desactivar las cuotas con quotaoff, el usuario prova puede volver a crear archivos (como test4) sin restricciones, a pesar de seguir figurando con el límite excedido en el último registro del sistema.

2025-12-15_12-52

Escritura libre tras desactivar cuotas Tras ejecutar quotaoff, el usuario prova crea el archivo test4 con éxito a pesar de haber alcanzado previamente su límite máximo de bloques.

2025-12-15_12-52_1