- Differenza tecnica tra la modifica dei permessi di accesso tramite chmod e la modifica della proprietà delle risorse con chown.
- Sistema di rappresentazione dei permessi basato su notazione ottale e simbolica per utenti, gruppi e altri soggetti.
- Implementazione di strategie di sicurezza basate sul principio del minimo privilegio per prevenire vulnerabilità nei server.
Se vi siete mai cimentati nella gestione di un server VPS o di una macchina dedicata, avrete capito che Linux è un sistema progettato fin dalle fondamenta per il networking. Ecco perché la sicurezza è fondamentale : controllare chi può leggere, modificare o eseguire un file è ciò che impedisce che le vostre informazioni finiscano nelle mani sbagliate o che un processo dannoso mandi in crash l'intero sistema.
Per muoversi agevolmente in questo ambiente, non basta sapere come eseguire i comandi; è necessario comprendere la logica alla base della proprietà dei file. In Linux, ogni risorsa appartiene a un utente e a un gruppo , ed è qui che entrano in gioco gli strumenti per la gestione di questi privilegi, che ci permettono di proteggere il sistema senza bloccare il funzionamento delle nostre applicazioni.
Comprendere l'anatomia dei permessi
Quando si avvia un comando ls -l Nel terminale vedrai una stringa di caratteri che sembra un codice segreto, qualcosa del tipo -rwxr-xr--Non preoccuparti, è più semplice di quanto sembri. Il primo personaggio ci dice Che tipo di elemento abbiamo di fronte a noi?Il trattino indica un file normale, la "d" una cartella (directory) e la "l" un collegamento simbolico. Esistono anche caratteri meno comuni come la "s" per i socket o la "p" per le pipe.
I seguenti nove caratteri sono suddivisi in tre gruppi uguali da tre. Il primo gruppo è riservato al proprietario (colui che ha creato il file), il secondo al gruppo dei proprietari e il terzo a tutti gli altri utenti del sistema. Ciascun gruppo di tre caratteri può contenere le lettere 'r' (lettura), 'w' (scrittura) e 'x' (esecuzione), oppure un trattino se tale autorizzazione non è concessa.
Che cosa significa concretamente ciascun permesso?
- Lettura (r): In un file, ti permette di aprirlo e vedere cosa c'è dentro. Se parliamo di una cartella, significa che puoi elenca i file e le sottocartelle contenente.
- Scrittura (w): Ti dà il potere di modificare il contenuto di un file o persino di eliminarlo. Nel caso delle directory, ti consente di creare, eliminare o rinominare elementi al suo interno.
- Esecuzione (x): Per un file, è ciò che consente l'esecuzione di uno script o di un programma. Nelle cartelle, questa autorizzazione è fondamentale perché permette di... accedere alla directory utilizzando il comando
cd.
Il comando chmod: Regolazione dei permessi di accesso
Il comando chmod (Modalità di modifica) è il nostro strumento per modificare queste autorizzazioni. Esistono due modi per utilizzarlo: simbolico, che è più intuitivo, e ottale, che è preferito dagli amministratori perché è più veloce.
Nel modalità simbolicaUtilizziamo lettere per indicare chi è interessato dalla modifica (u per utente, g per gruppo, o per altri, a per tutti) e simboli come '+' per aggiungere o '-' per rimuovere i permessi. Ad esempio, se si desidera che il gruppo possa scrivere su un file, si utilizzerà chmod g+w archivo.txtÈ un modo molto flessibile per modificare le autorizzazioni secondo necessità senza modificare il resto della configurazione.
El modalità ottale Utilizza numeri basati sul sistema binario. Ogni permesso ha un valore: lettura è 4, scrittura è 2 ed esecuzione è 1. Sommando questi valori otteniamo un numero da 0 a 7. Ad esempio, il valore 7 (4+2+1) significa accesso completo, mentre 5 (4+0+1) significa lettura ed esecuzione. Quindi, un comando come chmod 755 carpeta sovvenzioni controllo totale nelle mani del proprietario e consentire solo l'accesso in lettura/esecuzione per il gruppo e altri.
Gestione della proprietà con chown e chgrp
A volte, anche se le autorizzazioni sono corrette, il file non funziona perché il proprietario non è la persona giusta. È qui che entra in gioco [lo strumento/l'applicazione appropriata]. chown (cambia proprietario). Questo comando consente cambiare utente e gruppo chi possiede il file. La sintassi più comune è chown usuario:grupo archivo.
È molto comune sui server web che i file appartengano all'utente del server (come ad esempio www-data in Apache o Nginx) in modo che il sito web possa scrivere in determinate cartelle. Se devi applicare questa modifica a una cartella e a tutto ciò che contiene, devi usare opzione ricorsiva -R, ad esempio, correre chown -R www-data:www-data /var/www/html.
Gestione di utenti e gruppi nel sistema
Affinché tutto quanto sopra abbia senso, dobbiamo prima gestire chi sono questi utenti. In Linux, comandi come useradd o adduser per creare account e passwd per assegnare loro una chiave. Tutte queste informazioni sono memorizzate in file critici come /etc/passwd (dettagli dell'account) e / etc / shadow (password crittografate).
I gruppi sono essenziali per evitare di dover assegnare le autorizzazioni una per una. groupadd Abbiamo creato il gruppo e con usermod -aG Aggiungiamo utenti ad esso. In questo modo possiamo dare permessi collettivi per un gruppo di lavoro su una cartella specifica senza compromettere la sicurezza del resto del sistema.
Sudore e privilegi elevati
Non è consigliabile lavorare sempre come root, poiché un errore potrebbe cancellare l'intero sistema. Per questo, utilizziamo sudoche ci consente di eseguire comandi con privilegi di superutente. La configurazione di chi può fare cosa si trova nel file / etc / sudoersche deve essere sempre modificato con il comando visudo per Risoluzione dei problemi relativi agli errori sudo in Linux ed evitare errori di sintassi che ci escluderebbero dal sistema.
Sicurezza e migliori pratiche sui server
Un errore comune commesso da molti principianti è quello di assegnare i permessi 777 a una cartella quando qualcosa non funziona. Questo spalanca le porte a qualsiasi malintenzionato. Idealmente, si dovrebbe seguire il principio del minimo privilegio : concedere solo l'accesso minimo necessario per completare l'attività.
In linea generale, i file dovrebbero avere permessi 644 (il proprietario può scrivere, tutti gli altri possono solo leggere) e le cartelle 755. Per file estremamente sensibili, come le chiavi SSH o i file di configurazione protetti da password (.env), il permesso corretto è 600, garantendo che nessuno, a parte il proprietario, possa nemmeno leggerne il contenuto.
Se sul tuo sito web compare il temuto errore 403 Forbidden, è molto probabile che la causa sia un problema di proprietà o di permessi. Prima di apportare modifiche drastiche, verifica che il server web sia il proprietario dei file e che le directory abbiano il bit di esecuzione impostato per consentire la navigazione.
Una corretta gestione di utenti, gruppi e permessi tramite strumenti come chmod e chown rappresenta la prima linea di difesa per qualsiasi server Linux. Dall'utilizzo della maschera umask per definire i permessi predefiniti, alla gestione ricorsiva delle directory e al rigoroso controllo degli utenti con privilegi sudo, ogni accorgimento contribuisce a creare un ambiente stabile e resiliente contro potenziali intrusioni, garantendo che i processi di sistema e gli utenti umani possano coesistere senza compromettere l'integrità dei dati.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.




