Sistemes de fitxers i particions

Mida sector

Pel que fa a l’emmagatzematge físic, la unitat elemental es coneix com a sector. Aquest espai, destinat a allotjar la informació, té una capacitat predeterminada de 512 bytes, la qual és inalterable.

Mida block

A nivell del Sistema Operatiu, l’espai mínim lògic per emmagatzemar informació s’anomena bloc o clúster. Encara que la configuració estàndard sol ser de 4096 bytes, aquest valor és modificable durant el procés de formatació de la unitat.

És important notar que en un mateix disc físic, cada partició és independent; per tant, cadascuna pot tenir el seu propi sistema de fitxers i una mida de clúster diferent.

Anàlisi de l’exemple: En el cas pràctic, comparem dues mètriques. La primera comanda ens retorna el pes literal del contingut (“Bon dia”, que ocupa 8 bytes). En canvi, la segona comanda ens mostra l’ocupació real al disc, revelant l’espai mínim que el sistema ha reservat (un clúster sencer) per allotjar aquest fitxer tan petit.

Captura de pantalla de 2025-11-30 00-58-43

Fragmentació interna

Aquesta situació es dóna quan hi ha una discrepància entre la mida del fitxer i la del bloc. Si el bloc és excessivament gran per a la informació que conté, la part sobrant d’aquest bloc queda buida i no es pot aprofitar per a cap altra dada, resultant en una pèrdua d’emmagatzematge.

Fragmentació externa

Amb el pas del temps i l’activitat diària, l’emmagatzematge lliure del disc perd la seva continuïtat. En lloc de tenir un únic bloc gran d’espai buit, aquest queda escampat en petits forats separats entre si, fent més difícil guardar fitxers grans de manera seguida.

Tipus de formateig

D’una manera mes clara ho compararem amb una taula.

Nivell de Formatat Acció Principal Detalls i Requisits
Baix Nivell Esborrat físic complet (restauració de fàbrica). No es pot realitzar des del Sistema Operatiu estàndard; requereix programari específic de tercers o del fabricant.
Nivell Mitjà Eliminació del sistema de fitxers. Realitza un escaneig per detectar sectors defectuosos i els marca com a “no utilitzables”, tot i que no corregeix el dany físic.
Alt Nivell Neteja ràpida (lògica) de l’índex d’arxius. És el formatat més superficial; només restableix l’estructura de fitxers sense comprovar l’estat del disc.

Gestió de particions

Aquest sistema implementa una virtualització de l’emmagatzematge. La seva funció principal és crear un nivell intermedi entre el maquinari físic i el sistema operatiu, permetent fusionar diversos dispositius (ja siguin discos sencers o particions individuals) en una única entitat gestionable de manera conjunta.

Comandes

Per consultar la capacitat total i l’estructura de les unitats connectades, executarem la instrucció fdisk amb el paràmetre de llista (-l).

Captura de pantalla de 2025-11-30 01-00-06

Per aïllar la informació relativa a la mida del bloc, canalitzem la sortida cap a grep, indicant-li que mostri només les línies que coincideixin amb el terme “Block”.

Captura de pantalla de 2025-11-30 01-01-21

Per diagnosticar la fragmentació externa, fem ús de l’eina e4defrag. Aquesta ens generarà un informe indicant si la partició té un nivell de dispersió que requereixi ser desfragmentat.

Captura de pantalla de 2025-11-30 01-08-25

Si volem aplicar la desfragmentació (en lloc de només simular-la o comprovar-la), haurem d’executar la instrucció ometent el paràmetre -c.

Captura de pantalla de 2025-11-30 01-09-52

GPARTED

GParted és l’eina gràfica per excel·lència de l’entorn GNOME destinada a la gestió integral de discos, permetent operacions com generar, moure o suprimir particions. Tot i que ofereix una gran flexibilitat per formatar en diversos sistemes de fitxers (com ara NTFS, EXT4 o FAT32), té una limitació important: no permet personalitzar la mida del bloc (cluster size), ja que aquest paràmetre s’assigna automàticament.

Via interficie gràfica (GPARTED)

El primer pas requereix iniciar el programa. Un cop dins, cal localitzar el selector d’unitats situat a la part superior dreta de la finestra i assegurar-nos que tenim marcat el disc correcte abans de fer cap operació.

Captura de pantalla de 2025-11-30 02-12-45

A continuació, ens dirigim a la barra de menús superior. Cliquem sobre la pestanya “Dispositivo” i, dins del desplegable, seleccionem l’opció “Crear tabla de particiones”.

Captura de pantalla de 2025-11-30 02-13-08

El sistema mostrarà una finestra d’advertència (ja que s’esborraran les dades). Dins d’aquest quadre de diàleg, hem de desplegar la llista de tipus de taula i seleccionar específicament l’opció gpt abans de continuar.

Captura de pantalla de 2025-11-30 02-13-21

Amb la taula ja definida, visualitzarem l’espai com a “no assignat”. Fem clic amb el botó dret sobre aquesta àrea i seleccionem l’opció per generar una nova partició.

Captura de pantalla de 2025-11-30 02-13-42

En aquesta finestra de configuració, hem d’establir el sistema de fitxers com a NTFS. A més, tenim l’oportunitat de definir manualment la capacitat (mida) que volem assignar a aquest nou volum.

Captura de pantalla de 2025-11-30 02-14-05

Com a pas últim, cal fer efectives totes les operacions pendents. Per fer-ho, premem la icona de validació (el vist o “tick” verd) de la barra d’eines i confirmem l’execució a la finestra emergent que apareix.

Captura de pantalla de 2025-11-30 02-14-21

Via CLI (Command Line Interface)

Per dur a terme aquesta tasca utilitzarem la utilitat fdisk. Assumint que en el pas anterior ja hem localitzat el dispositiu objectiu, executem la comanda i reproduïm la seqüència d’accions que s’il·lustra a la imatge adjunta.

Captura de pantalla de 2025-11-30 02-25-10

Seguidament, donem l’ordre per afegir una nova partició al disc.

Captura de pantalla de 2025-11-30 02-27-04

Verificació: En aquest punt, confirmem que el procés de generació s’ha completat amb èxit.

image

Seguidament, utilitzarem l’ordre mkfs.ext4 per donar format a la partició. Aprofitarem per establir manualment una mida de bloc personalitzada de 2048 bytes.

image

Per corroborar que la configuració s’ha aplicat correctament, executem la següent instrucció.

image

Pel que fa a la segona partició, li assignarem el format NTFS. Aquest pas és essencial per garantir la plena compatibilitat amb sistemes Windows.

image

Com a conclusió, executarem la utilitat gràfica GParted per realitzar una validació visual de l’estat final de les particions.

image

Muntatge

Per iniciar aquesta secció, procedim a generar un nou directori i un fitxer dins de la ubicació /mnt.

image

image

Realitzem un muntatge manual de la unitat /dev/sdb1 al directori /mnt/particio1, especificant explícitament el sistema de fitxers ext4. Un cop la partició està accessible, procedim a generar un fitxer al seu interior.

image

Cal tenir present que el muntatge manual és volàtil: si reiniciem el sistema, la connexió es perdrà (tot i que les dades segueixen emmagatzemades físicament al disc).

Per solucionar això i aconseguir que el muntatge sigui persistent i automàtic a l’arrencada, és necessari editar l’arxiu de configuració systema: /etc/fstab.

Captura de pantalla de 2025-11-30 06-23-44

Si procedim a reiniciar el sistema, comprovarem que el muntatge es realitza de manera automàtica, confirmant així que la configuració és permanent.

image

Gestió d’usuaris i grups i permisos

L’arquitectura de seguretat en sistemes Linux es fonamenta en la distinció entre usuaris i grups. Aquests dos elements són la clau per gestionar els privilegis, determinant qui té autorització per interactuar (llegir, editar o llançar) amb els recursos del sistema, ja siguin fitxers o processos en marxa.

Tipus d’Usuaris

Compte Convencional: Es tracta de l’usuari final que disposa de credencials per accedir al sistema. La seva capacitat d’acció està acotada al seu propi espai de treball, prevenint així danys accidentals a la configuració general.

Superusuari (Root): És la màxima autoritat dins l’entorn Linux. Disposa de permisos il·limitats per gestionar qualsevol recurs. El seu ús s’ha de restringir a tasques d’administració degut al risc que comporta.

Comptes de Dimonis (Serveis): Són identitats virtuals assignades a programari específic (ex: www-data, mysql) per executar-se de manera aïllada. Estan configurats per denegar l’inici de sessió manual (no tenen shell).

Comptes del Sistema: Similars als anteriors però vinculats a processos essencials del mateix Sistema Operatiu. Es poden identificar fàcilment perquè el seu UID sol estar reservat en el rang 0-999.

En forma de taula per a que quedi més clar.

Rol Funció Detalls
Usuari Normal Accés estàndard limitat al seu espai personal. No pot modificar fitxers crítics del sistema.
Root (Superusuari) Administrador amb control total. Té accés irrestricte a tots els fitxers i comandes.
Usuari de Servei Execució d’aplicacions en segon pla (Daemons). Comptes sense accés a shell interactiva (ex: servidors web).
Usuari de Sistema Gestió de processos interns del SO. Es caracteritzen per tenir un UID baix (<1000).

Grups

Els grups funcionen com a contenidors lògics que permeten unificar diversos usuaris sota uns mateixos criteris de seguretat. Dins d’aquesta jerarquia, distingim dos tipus d’assignació:

  1. Grup Primari: S’assigna automàticament en generar el compte d’usuari (sol tenir el mateix nom).

  2. Grups Secundaris: Són agrupacions addicionals a les quals l’usuari s’uneix per guanyar privilegis extra.

Utilitat: L’ús de grups és fonamental per optimitzar l’administració de sistemes. En lloc de gestionar permisos usuari per usuari (cosa que seria lenta i propensa a errors), l’administrador pot assignar drets a un grup sencer, aplicant els canvis de manera instantània a tots els seus membres.

Fitxers importants

En l’entorn Linux, la gestió d’identitats no depèn d’una base de dades complexa, sinó que es basa en fitxers de text pla emmagatzemats al directori /etc. Aquests fitxers actuen com a registre centralitzat per a tots els usuaris i grups del sistema.

Anàlisi de /etc/passwd: Aquest és el fitxer principal de referència. Conté la definició de tots els comptes d’usuari registrats al sistema. És un fitxer públic (llegible per tothom) que associa cada usuari amb els seus atributs bàsics.

Captura de pantalla de 2025-11-30 02-36-56

Cada línia del fitxer defineix un usuari mitjançant 7 camps delimitats per dos punts (:):

# Camp Funció i Detalls
1 Nom d’usuari L’identificador únic utilitzat per al login (ex: root, anna).
2 Contrasenya (x) La x indica que la contrasenya xifrada es troba protegida a /etc/shadow. Signes com * o ! denoten un compte bloquejat.
3 UID ID numèric de l’usuari.
0: Root.
<1000: Sistema.
>1000: Usuaris normals.
4 GID ID del grup principal assignat a l’usuari.
5 GECOS Informació descriptiva opcional (Nom complet, telèfon, etc.).
6 Directori Home La ruta de la carpeta personal de l’usuari (ex: /home/anna).
7 Shell L’intèrpret de comandes. Per a usuaris reals sol ser /bin/bash; per a serveis, /usr/sbin/nologin.

Explicació: /etc/shadow

Captura de pantalla de 2025-11-30 02-37-37

Aquest fitxer és crític per a la seguretat del sistema. Emmagatzema les credencials xifrades i les polítiques de caducitat. A diferència del passwd, aquest arxiu té permisos restringits i només pot ser llegit per l’usuari root.

Cada línia es compon de 9 camps separats per dos punts (:):

# Camp Funció i Detalls
1 Nom d’usuari Coincideix amb el del fitxer /etc/passwd. Serveix d’enllaç entre tots dos arxius.
2 Contrasenya (Hash) Conté la clau xifrada (format $id$salt$hash).
• Si comença per $6$, és SHA-512.
• Si conté * o !!, el compte està bloquejat/deshabilitat.
3 Últim canvi Data de l’última modificació de la contrasenya, comptada en dies des de l’1 de gener de 1970 (Època Unix).
4 Mínim (Dies) Temps mínim que ha de passar entre canvis de contrasenya (evita canvis constants). 0 permet canvis immediats.
5 Màxim (Dies) Període de validesa de la contrasenya. En arribar a aquesta xifra (ex: 90), l’usuari està obligat a canviar-la. 99999 equival a “mai”.
6 Avís Nombre de dies previs a la caducitat en què el sistema començarà a notificar l’usuari (ex: 7 dies abans).
7 Inactivitat Dies de marge (“gràcia”) un cop la contrasenya ha caducat abans de bloquejar totalment el compte.
8 Caducitat del compte Data absoluta (en dies des de 1970) en què el compte quedarà inhabilitat, independentment de la contrasenya.
9 Reservat Camp sense ús actual, reservat per a futures funcionalitats del sistema.

Explicació: /etc/group

Captura de pantalla de 2025-11-30 02-39-58

Aquest fitxer defineix els grups existents al sistema i determina quins usuaris hi tenen accés. És essencial per a la gestió de permisos col·lectius.

Cada línia consta de 4 camps separats per dos punts (:):

# Camp Descripció i Detalls
1 Nom del Grup L’etiqueta única que identifica el grup al sistema (ex: sudo, docker). Per convenció, s’escriu en minúscules.
2 Contrasenya Habitualment conté una x (referència a /etc/gshadow) o un asterisc. En l’administració moderna de Linux, les contrasenyes de grup estan en desús.
3 GID Identificador numèric del grup.
0: Root.
1-999: Grups de sistema.
1000+: Grups d’usuari estàndard.
4 Membres Llista d’usuaris (separats per comes) que pertanyen a aquest grup com a grup secundari.
Nota: Si és el grup principal d’un usuari, el seu nom no sol aparèixer en aquesta llista.

Explicació: /etc/gshadow

Captura de pantalla de 2025-11-30 02-41-10

Aquest fitxer actua com a complement de seguretat per a /etc/group. S’utilitza per emmagatzemar les claus xifrades dels grups i definir-ne els administradors, protegirnt aquesta informació sensible de mirades indiscretes (només root el pot llegir).

Cada línia segueix l’esquema: nom:password:admins:membres.

# Camp Funció i Detalls
1 Nom del Grup L’identificador del grup. Ha de tenir una correspondència exacta amb una entrada existent a /etc/group.
2 Contrasenya (Hash) Clau xifrada utilitzada per accedir al grup (mitjançant la comanda newgrp).
• Si conté ! o *, l’accés per contrasenya està deshabilitat.
• Actualment és una funció poc utilitzada.
3 Administradors Llista d’usuaris (separats per comes) amb privilegis per gestionar el grup. Poden afegir o expulsar membres i canviar la contrasenya del grup sense necessitat de ser root.
4 Membres Llista d’usuaris regulars que pertanyen al grup. Aquesta informació s’ha de mantenir sincronitzada amb el fitxer /etc/group.

Comandes bàsiques

Adduser

Captura de pantalla de 2025-11-30 03-00-35

Userdel

Arribats a aquest punt, procedim a donar de baixa el compte d’usuari del sistema.

Captura de pantalla de 2025-11-30 03-01-26

Seguidament, procedim a donar d’alta l’usuari mitjançant la comanda useradd. Durant aquest procés, definim el seu intèrpret de comandes (shell) personalitzat i finalitzem realitzant les validacions pertinents per confirmar que el compte és operatiu.

Captura de pantalla de 2025-11-30 03-05-53

Per establir o actualitzar la clau d’accés de l’usuari, executem l’eina passwd. El sistema ens demanarà introduir la nova credencial dues vegades per seguretat.

Captura de pantalla de 2025-11-30 03-06-35

Amb aquesta acció aconseguim inhabilitar el compte. Si inspeccionem el fitxer /etc/shadow, notarem que el camp de la contrasenya ha estat modificat (habitualment amb un signe !) per impedir l’accés.

Captura de pantalla de 2025-11-30 03-08-08

En cas de voler revertir el bloqueig i restablir l’accés al compte, farem servir el paràmetre -U (Unlock).

Captura de pantalla de 2025-11-30 03-08-54

Per donar d’alta nous grups al sistema, fem servir l’ordre addgroup. D’altra banda, si necessitem modificar els atributs d’un grup existent (com el nom o el GID), utilitzarem la utilitat groupmod.

Captura de pantalla de 2025-11-30 03-11-05

Mitjançant aquest procediment, podem vincular els usuaris existents als diferents grups del sistema.

Captura de pantalla de 2025-11-30 03-13-00

Validació del procés: Finalment, verifiquem que els canvis s’han aplicat correctament al sistema.

Captura de pantalla de 2025-11-30 03-16-03

D’altra banda, la comanda deluser també ens permet revocar la pertinença d’un usuari a un grup específic, excloent-lo d’aquest sense eliminar el seu compte.

Captura de pantalla de 2025-11-30 03-16-29

Per canviar de sessió i operar sota la identitat d’un altre usuari sense tancar el terminal actual, utilitzem l’ordre su (Switch User).

Captura de pantalla de 2025-11-30 03-17-04

Permisos

Per iniciar aquest bloc, procedim a generar el directori palomes i un fitxer anomenat prova. Un cop creats els recursos, en modifiquem l’assignació per canviar-ne el grup propietari.

Captura de pantalla de 2025-11-30 04-53-35

A la següent captura analitzem l’estructura dels permisos. Podem diferenciar clarament els nivells d’accés assignats al propietari, al grup i a la resta d’usuaris.

Captura de pantalla de 2025-11-30 04-57-18

Configuració de seguretat a /var/palomes:

  1. Transferència de propietat: Modifiquem el grup propietari del directori, substituint nick per paloma.

  2. Assignació de membres: Integrem l’usuari ctre dins del grup paloma perquè hi tingui accés.

  3. Restricció de permisos: Apliquem la màscara 750 (Total per al propietari, Lectura/Execució per al grup, Cap accés per a altres).

Captura de pantalla de 2025-11-30 04-57-18

Accedint amb les credencials de l’usuari nick, verifiquem que disposem de privilegis complets. Comprovem que podem llegir, crear i modificar fitxers sense restriccions (permisos rwx).

Captura de pantalla de 2025-11-30 05-09-59

Per contra, si intentem realitzar la mateixa acció des de la sessió de l’usuari cire, el sistema ens denegarà l’accés, confirmant que aquest usuari no disposa dels permisos d’escriptura necessaris.

Captura de pantalla de 2025-11-30 05-13-14

Finalment, pel que fa a l’usuari ferran (que pertany a la categoria “Altres”), comprovem que té l’accés completament restringit. No disposa de permís d’execució, per la qual cosa no pot ni tan sols accedir al directori.

Captura de pantalla de 2025-11-30 05-15-10

Ampliació de l’accés al directori /var/palomes:

Captura de pantalla de 2025-11-30 05-17-51

Validació funcional dels permisos de grup:

Hem realitzat proves d’accés amb dos membres del grup paloma per confirmar la nova configuració:

  1. Usuari deivy: Confirma que disposa de permís d’escriptura al directori, ja que ha pogut accedir-hi i generar un nou arxiu (touch ptl) sense errors.

  2. Usuari ferran: Verifica la capacitat de llistar i eliminar contingut. És important notar que, en intentar esborrar un fitxer, el sistema demana confirmació; això succeeix perquè el fitxer en si està protegit contra escriptura, però els permisos del directori permeten la seva supressió.

Conclusió: La configuració és correcta per a un entorn col·laboratiu. Els membres del grup tenen llibertat per treballar dins la carpeta, tot i les alertes de seguretat en manipular fitxers existents.

Captura de pantalla de 2025-11-30 05-20-46

Validació dels privilegis de grup a /var/palomes:

Hem realitzat proves creuades amb diferents membres del grup paloma per confirmar la configuració:

  1. Usuari deivy: Confirma que disposa de permisos d’escriptura sobre el directori, ja que ha pogut accedir-hi i generar nous arxius (ex: touch ptl) sense incidències.

  2. Usuari ferran: Verifica la capacitat de llistar i eliminar contingut.

Nota: En intentar esborrar un fitxer, el sistema sol·licita confirmació. Això succeeix perquè el fitxer té permisos restringits, però l’operació és permesa gràcies als permisos d’escriptura de la carpeta contenidora.

Conclusió: La carpeta disposa dels permisos correctes per al treball en grup, permetent la creació i gestió de fitxers a tots els membres.

Captura de pantalla de 2025-11-30 05-34-42

Diagnòstic de permisos: L’efecte de l’Sticky Bit

Durant les proves, hem detectat una limitació en la col·laboració. Tot i que ambdós usuaris (deivy i ferran) tenen accés al directori i poden crear fitxers, l’usuari Ferran no pot eliminar els arxius creats per Deivy.

Causa tècnica: Analitzant els permisos del directori, observem la marca T al final (drwxrwx–T). Això indica que el Sticky Bit (bit de permanència) està actiu.

Conseqüència: Aquest bit afegeix una capa de seguretat que restringeix l’esborrat de fitxers: només el propietari del fitxer (o root) pot eliminar-lo, independentment dels permisos de grup. Això impedeix que els usuaris s’esborrin fitxers entre ells accidentalment.

Captura de pantalla de 2025-11-30 05-30-26

Captura de pantalla de 2025-11-30 05-35-53

Finalment, analitzem el permís especial SUID (Set User ID). Per demostrar-ne el potencial (i el risc), hem configurat aquest bit sobre l’executable /bin/bash.

Aquesta configuració permet una escalada de privilegis: com que el propietari de bash és root, quan un usuari estàndard l’executa, el sistema inicia la shell amb els privilegis del propietari en lloc dels de l’usuari. Això atorga efectivament una terminal de root a qualsevol usuari sense necessitat de contrasenya.

ACL

Importància de les ACL a Ubuntu

Motius clau per a la implementació de les ACL:

  1. Granularitat i Versatilitat: Trenquen amb la rigidesa del model clàssic (UGO), permetent definir permisos específics per a múltiples usuaris o grups sobre un mateix recurs, sense haver de alterar l’estructura de grups del sistema.

  2. Adaptabilitat a Entorns Complexos: Són imprescindibles en infraestructures corporatives o servidors compartits, on la gestió bàsica de permisos seria insuficient per cobrir totes les casuístiques d’accés.

  3. Reforç de la Seguretat: Faciliten l’aplicació estricta del Principi de Mínim Privilegi (PoLP), assegurant que cada usuari tingui exactament els permisos que necessita, ni més ni menys, i millorant la traçabilitat de l’accés.

Captura de pantalla de 2025-11-30 05-57-04 Captura de pantalla de 2025-11-30 05-57-43

Captura de pantalla de 2025-11-30 05-58-00 Captura de pantalla de 2025-11-30 05-58-18 image Captura de pantalla de 2025-11-30 05-58-48

Captura de pantalla de 2025-11-30 05-59-30

Umask

Definició: La umask (User Mask) és el mecanisme del sistema que estableix els permisos inicials per defecte. Actua com un filtre restrictiu: determina quins permisos no tindran els nous arxius o directoris en el moment de crear-se.

Configuració a Ubuntu: La definició d’aquests valors es troba jerarquitzada:

Verificació: Per consultar el valor actual actiu, executem la comanda umask.

Captura de pantalla de 2025-11-30 06-01-19

Valors per defecte (Ubuntu)

Tipus de Compte Umask Resultat en Fitxers Resultat en Directoris
Usuari Estàndard 0002 664 (rw-rw-r--)
(Grup amb escriptura)
775 (rwxrwxr-x)
Root (Admin) 0022 644 (rw-r--r--)
(Grup només lectura)
755 (rwxr-xr-x)

Captura de pantalla de 2025-11-30 06-00-49

Funcionament del càlcul

El sistema determina els permisos finals restant la umask als valors base:

Exemple d’aplicació (Umask 002):

Captura de pantalla de 2025-11-30 06-03-04

Per aconseguir la persistència d’aquesta configuració (que s’apliqui sempre), cal editar els paràmetres dins del fitxer login.defs.

Captura de pantalla de 2025-11-30 06-03-52

Gestió de procesos

Tècnicament, definim un procés com l’entitat dinàmica resultant d’executar un codi o programa. Per a la seva gestió, el sistema vincula cada procés a un usuari concret i li atorga una matrícula numèrica exclusiva anomenada PID. Al llarg del seu cicle de vida, un procés transita per diferents fases (actiu, en espera, zombi…), i és funció del Sistema Operatiu actuar com a àrbitre, administrant la planificació i l’ús de la CPU per a cadascun d’ells.

Eines bàsiques de gestió de processos

Eines de Gestió de Processos

Per administrar el sistema disposem de diverses utilitats de línia de comandes, classificades segons la seva finalitat:

Acció Comandes Detalls
Visualitzar ps, top, htop Mostren la llista de tasques actives i el seu consum.
Finalitzar kill, pkill Permeten matar processos específics (mitjançant ID o nom).
Prioritzar nice, renice Ajusten la prioritat de la CPU (“niceness”).
Serveis systemctl, service Controlen els daemons del sistema (start/stop/restart).

Conceptes clau: Un procés sempre està vinculat a un usuari (del qual n’hereta els permisos) i pot funcionar com a part d’una sessió o com un servei de fons.

Tot seguit, posarem en pràctica aquests conceptes bàsics.

top / htop / btop

Serveixen per visualitzar els processos actius al moment. A diferència del top clàssic, l’eina btop ofereix un entorn molt més visual, organitzat i fàcil d’utilitzar.

top

image

htop

image

btop

image

Gestió de Prioritats (PR i NI)

En el monitoratge de processos, la prioritat es defineix mitjançant dos valors clau:

Escala de valors NI Funciona a la inversa: quan més baix és el número, més prioritat té el procés.

Comandes de gestió

image

Visualització jeràrquica (pstree)

Aquesta comanda organitza els processos actius en format d’arbre genealògic. És l’eina ideal per entendre les relacions “pare-fill” i identificar ràpidament quin procés n’ha executat un altre.

Paràmetres principals:

Captura de pantalla de 2025-12-02 13-10-01

Permisos d’administrador: Si s’executa la comanda amb sudo o com a usuari root, es mostraran també els processos del sistema que normalment estan ocults per als usuaris estàndard.

image

Filtratge de resultats: Per a cerques específiques (un usuari o programa concret), podem canalitzar la sortida utilitzant grep.

image

Instantània de processos (ps)

La comanda ps genera una “fotografia” fixa de l’estat actual del sistema. És essencial per analitzar detalladament el consum de recursos.

La combinació més utilitzada és ps aux, que uneix tres paràmetres per donar la visió global:

Captura de pantalla de 2025-12-02 13-13-52

Interpretació de les dades (Columnes clau)

Quan analitzem la sortida de ps aux, les dades s’organitzen en dos grups principals:

Identificació i Estat

Consum de Recursos | Columna | Significat | Diferència clau | | :— | :— | :— | | %CPU / %MEM | Càrrega actual | Ús instantani del processador i la RAM. | | VSZ (Virtual) | Memòria assignada | Tot el que el programa podria arribar a usar (inclou llibreries compartides). | | RSS (Resident) | Memòria real | La RAM física que està ocupant ara mateix. Aquesta és la xifra important. |

Codis d’Estat (STAT)

Indiquen què està fent el procés en aquell precís moment:

Gestió de Senyals (Kill)

La comanda kill no només serveix per tancar programes, sinó per comunicar-s’hi enviant senyals al Kernel (PID).

Per finalitzar processos:

Per controlar l’execució:

Dreceres de teclat (Interactivitat)

Quan treballem en terminal amb eines com top, és vital distingir entre tancar i pausar:

Ctrl + C (SIGINT)

Ctrl + Z (SIGSTOP)

image

Execució en segon pla (&)

Si volem llançar un programa sense que ens bloquegi la terminal (per poder seguir escrivint comandes), afegim el símbol & al final de la línia.

image

Recuperació de processos (Jobs i fg)

Si hem enviat un procés al segon pla (o està aturat amb Ctrl+Z), per recuperar-lo seguim dos passos:

  1. Llistar: Executem jobs per veure la llista de tasques i el seu número d’identificació (Job ID), que apareix entre claudàtors, per exemple [1].
  2. Recuperar: Utilitzem la comanda fg (foreground) seguida del número.

Exemple pràctic:

image

Retorn al primer pla (fg): Per recuperar el control d’un programa aturat (com el top que hem pausat abans), utilitzem la comanda fg. Això restaura la finestra immediatament on la vam deixar.

Mètodes de finalització

Sortida neta (Tecla q) Dins de la interfície de top, prémer q és el mètode correcte per finalitzar la sessió. Això tanca el programa ordenadament sense generar errors.

Sortida forçosa (kill -9) Si un procés no respon, l’opció -9 envia el senyal SIGKILL.

Cas Pràctic: VirtualBox Per gestionar una aplicació pesada com VirtualBox:

  1. Obrim top i busquem la fila corresponent a VirtualBox.
  2. Anotem el seu número PID (primera columna).
  3. Si es bloquegés, podríem tancar-lo des d’un altre terminal amb: kill -9 <PID_trobat>.

image

image

Com es pot veure a la imatge, el procés objectiu ja no figura a la taula d’activitat, indicant que el sistema ha forçat el seu tancament amb èxit.

image

Còpies de seguretat i automatització de tasques

Còpies de Seguretat

Objectiu i Amenaces

La missió principal d’un backup no és guardar dades, sinó garantir-ne la recuperació. Ens protegeixen davant quatre vectors de risc:

Estratègies de Còpia (Comparativa)

No existeix la còpia perfecta; triem segons l’equilibri entre espai ocupat i temps de recuperació.

Tipus Què es copia? Avantatges (+) Inconvenients (-)
COMPLETA (Full) Tot (100% de les dades). Recuperació ràpida i senzilla (només cal 1 fitxer). Molt lenta de generar i ocupa molt disc.
INCREMENTAL Només el que ha canviat des de l’últim backup (sigui quin sigui). Molt ràpida i lleugera (ocupa poc). Recuperació lenta (cal reconstruir la cadena sencera).
DIFERENCIAL Tot el que ha canviat des de l’última Completa. Punt mig: recuperació més àgil que la incremental. Duplica dades i ocupa més espai progressivament.

Eines de Còpia (Teoria de Comandes)

A Linux treballem a dos nivells diferents:

A. Nivell de Fitxer (cp i rsync)

B. Nivell de Bloc / Clonatge (dd)

4. Preparació de l’entorn (Pràctica)

Per realitzar les proves, configurem la màquina virtual amb el següent maquinari:

  1. Afegir 2 Discos Durs de 1 GB cadascun (Virtuals).
  2. Iniciar el sistema i identificar els nous dispositius amb: fdisk -l

Captura de pantalla de 2025-12-18 13-19-55

Configuració de volums: Per utilitzar els nous discs, primer generem una taula de particions on assignem tot l’espai disponible a una sola partició primària per disc. Seguidament, mitjançant la comanda mkfs.ext4, donem format als nous volums per fer-los compatibles amb el sistema de fitxers de Linux.

Captura de pantalla de 2025-12-18 13-22-58

Captura de pantalla de 2025-12-18 13-25-52

Captura de pantalla de 2025-12-18 13-23-30

Generació de dades de test

Per verificar el funcionament de les còpies, necessitem dades d’origen. Creem una estructura simple:

  1. Generem el directori: mkdir prova
  2. Creem un fitxer de text a l’interior: touch prova/prova2

Captura de pantalla de 2025-12-18 13-25-24

Configuració del Punt de Muntatge

Per accedir al disc dur secundari, necessitem assignar-li una carpeta del sistema.

  1. Creació del directori: mkdir /var/copies

  2. Muntatge del dispositiu: Connectem la partició que hem formatat anteriorment (sdb1) a la nova carpeta: mount /dev/sdb1 /var/copies

    image

Ara ja podem veure les següents comandes.

Prova amb cp -R: Vam realitzar una còpia inicial de la carpeta Documents. Per comprovar com s’actualitza, vam modificar l’origen (esborrant fitxers i creant-ne de nous) i vam tornar a llançar la comanda.

Resultat: El directori de destinació /var/copies manté tots els fitxers, tant els nous com els que havíem esborrat a l’origen. Això demostra que cp simplement “bolca” les dades sense netejar el destí, cosa que pot generar duplicitats i brutícia digital.

image

image

image

Sincronització diferencial: Utilitzant rsync, el sistema realitza una verificació prèvia (per data i mida). La gran diferència amb l’anterior és que només transfereix les dades modificades. Això fa que les segones còpies siguin gairebé instantànies, ja que s’evita reescriure la informació que ja tenim guardada.

image

image

Clonatge de particions: Finalment, utilitzem dd per volcar el contingut brut de /dev/sdb1 sobre /dev/sdc1. A diferència de les eines anteriors, dd no entén de fitxers, sinó de blocs de dades.

Validació: Per comprovar l’èxit de l’operació, hem utilitzat l’eina de hashing md5sum. En obtenir el mateix codi hash a l’origen i al destí, confirmem que no s’ha alterat ni un sol bit durant la transferència; tenim dues particions gemenes.

image

Gestió de Backups amb Duplicity

Duplicity és una eina que destaca per generar còpies de seguretat xifrades i incrementals.

Configuració prèvia: Abans d’instal·lar l’eina, hem preparat el disc de destí:

  1. Formatat de la partició de 1GB: mkfs.ext4 /dev/sdc1.
  2. Creació del directori destí: mkdir /backup.
  3. Muntatge de la unitat per fer-la accessible.

image

Configuració d’arrencada (fstab): Per assegurar que la unitat de còpies es munti automàticament cada vegada que encenem l’ordinador, cal registrar-la al fitxer /etc/fstab. Simplement afegim la ruta de la partició, el punt de muntatge /backup i el sistema de fitxers ext4 al final del fitxer.

image

Ara si, instal·lem duplicity

image

Ara ja podem fer la còpia, que la farem de la carpeta Documentos i li ficarem destinació al escriptori.

image

Gestió de la contrasenya Per evitar haver d’escriure la clau de xifratge manualment cada vegada (cosa impossible en tasques automàtiques), la desarem temporalment a la memòria del sistema.

Utilitzant la comanda export PASSPHRASE='...', Duplicity agafarà aquest valor automàticament. Això és imprescindible per poder programar les còpies posteriors.

image

Execució estàndard: En cas de no voler automatitzar el procés, podem executar l’eina manualment seguint l’esquema duplicity [origen] [destí]. Cal recordar que el destí ha d’incloure el protocol (per exemple file:// per a discs locals). En fer-ho d’aquesta manera, serà imprescindible ser davant l’ordinador per introduir la contrasenya de xifratge cada vegada que es faci una còpia.

image

Comprovació de la còpia: En accedir a la carpeta /backup, observem que s’han generat diversos fitxers comprimits. A diferència del cp o rsync, aquí no veiem l’estructura de carpetes original, ja que Duplicity ha empaquetat i xifrat tota la informació per seguretat. La presència d’aquests fitxers confirma que el procés s’ha completat amb èxit.

image

Operació de Restauració: Per recuperar la informació, utilitzem la comanda restore.

Connectivitat (Protocols): Duplicity és compatible amb la majoria d’estàndards de xarxa. Només cal canviar el prefix de la URL per enviar les dades on vulguem:

Déjà Dup

En realitat, Déjà Dup no és un programa nou, sinó una “capa visual” (GUI) per a Duplicity. Ens permet gaudir de la seguretat del xifratge i l’eficiència de la còpia incremental sense haver d’escriure ni una sola línia de codi.

Característiques clau:

  1. Automatització total: S’encarrega d’escriure les comandes complexes per nosaltres.
  2. Anacron: Gestiona els horaris de manera intel·ligent (si l’ordinador estava apagat, fa la còpia en encendre’l).
  3. Simplicitat: Redueix tot el procés a dos botons grans: “Restaurar” i “Fer còpia ara”.

Instal·lació: Per afegir l’eina al sistema, executem: sudo apt install deja-dup

image

Accés a l’eina: En finalitzar la instal·lació, veurem que el programa no apareix al menú d’aplicacions com a “Déjà Dup”. Això és perquè GNOME prioritza els noms funcionals sobre les marques comercials. En el nostre cas, haurem d’obrir el cercador d’aplicacions i escriure “Respaldos” (o “Còpies de seguretat” si tenim el sistema en català) per accedir al tauler de control.

image

Li donem a Cree su primer respaldo.

image

Ara triem les carpetes d’origen i les exclusions. Tot seguit, indiquem on es guardarà la còpia. Ho farem localment, directament a l’escriptori, per comprovar-ne fàcilment el resultat.

image

A continuació, el sistema sol·licita una contrasenya per habilitar el xifratge de les dades. Introduïm la clau desitjada i continuem amb el procés.

image

Observem com s’inicia el procés de creació de la còpia de seguretat.

image

Confirmem que els arxius resultants de la còpia ja apareixen a l’escriptori.

image

Aquesta aplicació permet programar còpies de seguretat periòdiques.

image

A més, permet restaurar fitxers i carpetes fàcilment.” “Addicionalment, ofereix la funció de restauració de fitxers i directoris.

image

Automatització d’scripts

Teoria

Cron

Executa tasques programades en una data i hores específiques.

Anacron

És ideal per executar tasques periòdiques, on no cal una data i una hora específica.

Pràctica

Cron

Hi ha dos documents principals que podem editar per afegir tasques programades: el crontab d’usuari i el crontab del sistema.

  1. Crontab del sistema (/etc/crontab)
  2. Crontab d’usuari (crontab -e)

image

Per editar el crontab d’un usuari específic (requereix permisos de root), executem:

crontab -u [usuari] -e

image

image

Anacron

El fitxer de configuració principal és /etc/anacrontab.

image

Per demostrar la seva funcionalitat, generarem un script que comprimeixi el directori Imatges, on prèviament haurem afegit dos fitxers de prova.

image

Creem un fitxer anomenat copies.sh, on afegirem l’script desitjat. Hem configurat que el nom del fitxer resultant inclogui el timestamp (la data i hora) del moment de la creació.Creem un fitxer anomenat copies.sh, on afegirem l’script desitjat. Hem configurat que el nom del fitxer resultant inclogui el timestamp (la data i hora) del moment de la creació.

image

Ara donem permís d’execució al fitxer i veiem amb l’ordre ls -l que s’ha aplicat correctament.

image

El que hem de fer ara és editar l’arxiu de crontab, tal com hem vist a l’apartat de Cron, i afegir a l’última línia la tasca que volem realitzar.

image

Ara esperem fins a l’hora que hem programat i veiem que s’ha creat l’arxiu. Si l’obrim, hi trobarem els fitxers dels quals volíem fer la còpia.

image

image

Finalment, per provar un altre mètode, farem que ens creï l’arxiu cada dia que iniciem la màquina. Això ho aconseguim gràcies al directori cron.daily (també existeixen altres directoris similars per fer-ho setmanalment o mensualment).

image

Per fer-ho, copiem l’script que hem creat a la ruta /etc/cron.daily/copies.

image

Com que la màquina ja s’ha iniciat avui, si reiniciem no es generarà el fitxer, ja que la tasca només s’executa un cop al dia. Per això, hem d’editar el fitxer de registre d’Anacron i esborrar-ne el contingut per forçar l’execució.

image

Fem reboot i esperem un minut.

image

image

Veem que ens ha creat correctament el fitxer.

Quotes d’usuari

Quotes d’usuari (Disk Quotas)

Les quotes d’usuari són un mecanisme que permet als administradors limitar la quantitat d’espai de disc o el nombre de fitxers que un usuari (o un grup) pot utilitzar.

Hi ha dos tipus de recursos que es controlen amb les quotes:

Tipus de límits

Pràctica

Instal·lació del paquet Per començar, instal·lem l’eina de quotes:

Captura de pantalla de 2025-12-21 08-17-59

Accedim al directori /mnt i en creem un de nou.

image

Per realitzar aquest procediment, he utilitzat el segon disc d’1 GB que he afegit a la màquina. Ara editem el fitxer de configuració amb l’ordre nano /etc/fstab i hi afegim els paràmetres requerits.

image

Una vegada fet, veiem que si fem un ls a la ruta on es troba el directori, encara no ens apareixen els fitxers que en teoria haurien de sortir després d’afegir les quotes.

image

Per generar-los, executem l’ordre quotacheck -cug /mnt/dades. Ara ja podem veure que s’han creat els fitxers.

image

Per si de cas, per assegurar-nos del bon funcionament, podem fer un quotaon /mnt/dades, tot i que ja hauria d’estar activat. Per desactivar-lo, faríem el mateix però amb quotaoff.

image

Amb un usuari que ja tinguéssim creat, o que creem ara per fer la prova, podem veure quines quotes té assignades en aquest directori.

image

“Per assignar o modificar els límits de l’usuari, executem l’ordre edquota -u usuari. Aquesta acció obrirà un editor de text on podrem definir els valors exactes de la quota.”

image

Aplicant la teoria dels límits descrita anteriorment, procedirem a restringir l’ús de blocs (espai en disc). Dins l’editor, assignarem un valor de 1024 a la columna soft i de 2048 a la columna hard, deixant els inodes sense limitació.

image

Validació del funcionament “Per verificar que les restriccions s’apliquen correctament, generarem un fitxer de prova de 800 KiB mitjançant l’ordre dd. En consultar l’estat de la quota, observarem que el sistema comptabilitza l’espai ocupat (800 blocs) sense emetre cap alerta, ja que ens mantenim per sota del llindar suau (Soft Limit).”

image

En generar un segon fitxer de característiques idèntiques, l’ús de disc ascendeix als 1600 blocs. Com que aquesta xifra excedeix el Soft Limit (fixat en 1024), el sistema activa automàticament l’estat d’alerta i ens notifica que hem entrat en el període de gràcia (grace period), indicant-nos els dies restants per regularitzar la situació.

image

En intentar repetir el procediment per tercera vegada, el sistema bloqueja definitivament l’operació mostrant l’error Se ha excedido la cuota de disco (o Disk quota exceeded). Cal destacar un comportament interessant: en lloc de generar un fitxer de mida zero (com passa en altres entorns), el sistema ha permès una escriptura parcial, truncant el fitxer exactament en arribar als 2048 KiB del Hard Limit.

image

image

Per confirmar que el bloqueig era efectivament producte de les polítiques aplicades, procedim a desactivar les quotes (mitjançant quotaoff). Immediatament després, verifiquem que el sistema torna a permetre la creació del fitxer sense cap impediment.

image

Finalment, per ajustar el període de gràcia, utilitzarem l’ordre edquota -t. Cal tenir en compte que aquesta configuració no és individual, sinó que s’aplica de manera global a tots els usuaris del sistema de fitxers, permetent-nos definir quant de temps tenen per alliberar espai abans del bloqueig.

image