Permessi e proprietà dei file
Padroneggi chmod, chown, sticky bit, SUID/SGID e comprenda come i permessi impediscono gli accessi non autorizzati.
Permessi e proprietà dei file è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Perché i permessi sono importanti
I permessi dei file controllano chi può leggerli, modificarli o eseguirli. I permessi configurati in modo errato sono una delle cause più comuni dell'escalation dei privilegi e delle violazioni dei dati.
Spiegazione della stringa dei permessi
Quando esegue ls -la, ogni file mostra una stringa di permessi di 10 caratteri come -rwxr-xr--. La stringa si suddivide in: tipo di file, permessi del proprietario, permessi del gruppo e permessi degli altri.
$ ls -la /etc/passwd
-rw-r--r-- 1 root root 2847 Jan 10 10:00 /etc/passwd
# - = regular file
# rw- = owner (root) can read+write
# r-- = group can read only
# r-- = others can read onlyPermessi numerici (ottali)
I permessi possono essere espressi anche come numeri ottali: lettura=4, scrittura=2, esecuzione=1. Sommi questi valori per ogni categoria.
# rwxr-xr-- = 754
# rw-rw-r-- = 664 (world-readable, group-writable)
# rwx------ = 700 (private executable)Modificare i permessi: chmod
Utilizzi chmod per modificare i permessi. Può utilizzare la modalità simbolica (u+x) oppure quella ottale (755).
$ chmod 755 script.sh # rwxr-xr-x
$ chmod u+x script.sh # add execute for owner
$ chmod o-r secret.txt # remove read for others
$ chmod 600 id_rsa # SSH key: owner read/write onlyModificare la proprietà: chown
Il comando chown modifica il proprietario e/o il gruppo di un file. Solo root può assegnare la proprietà a un altro utente.
$ chown user:group file.txt
$ chown root:root /etc/shadow
$ chown -R www-data:www-data /var/www/html/Permessi speciali: SUID, SGID, Sticky Bit
SUID (Set User ID) fa eseguire un file con i privilegi del proprietario. SGID applicato alle directory fa sì che i nuovi file ereditino il gruppo. Lo sticky bit impedisce agli utenti che non sono proprietari di eliminare i file.
$ ls -la /usr/bin/passwd
-rwsr-xr-x 1 root root 68208 /usr/bin/passwd
# The "s" in owner execute position = SUID
# This runs as root regardless of who calls itIndividuare i binari SUID (Privesc)
Gli aggressori cercano binari SUID per effettuare un'escalation dei privilegi. Qualsiasi binario SUID con una vulnerabilità nota o soggetto a utilizzo improprio può consentire di ottenere l'accesso root.
$ find / -perm -4000 -type f 2>/dev/null
/usr/bin/passwd
/usr/bin/sudo
/usr/bin/pkexec
/bin/mountIl file /etc/shadow
/etc/shadow contiene password sottoposte a hashing ed è leggibile solo da root. Se riesce a leggerlo, può tentare il cracking offline con hashcat o john.
$ ls -la /etc/shadow
-rw-r----- 1 root shadow 1423 Jan 10 /etc/shadow
# Only root and the shadow group can read thisumask: maschera dei permessi predefiniti
Il valore di umask viene sottratto da 666 (file) o 777 (directory) per impostare i permessi predefiniti dei nuovi file. Un umask pari a 022 significa che i nuovi file avranno permessi 644.
$ umask
0022
$ touch newfile
$ ls -la newfile
-rw-r--r-- 1 user user 0 newfile # 666 - 022 = 644Liste di controllo degli accessi (ACL)
Le ACL estendono il modello tradizionale dei permessi Unix, consentendo di assegnare permessi specifici ai singoli utenti oltre alla triade proprietario/gruppo/altri. Utilizzi getfacl e setfacl.
$ getfacl /var/www/html/
# file: var/www/html/
# owner: root
# group: www-data
user::rwx
group::r-x
other::r-xFile immutabili: chattr
Il comando chattr +i rende un file immutabile: neppure root può modificarlo o eliminarlo. I rootkit lo utilizzano per proteggere i propri file. Verifichi la situazione con lsattr.
$ chattr +i /etc/passwd # make immutable
$ lsattr /etc/passwd
----i--------e-- /etc/passwd
$ chattr -i /etc/passwd # remove immutabilityVerifica rapida
Che cosa consente il permesso SUID?
Riepilogo: permessi dei file
Impari a utilizzare chmod e chown e a comprendere SUID. Nei CTF e nei penetration test reali, le configurazioni errate di SUID sono tra i percorsi più comuni per ottenere root. Controlli sempre i permessi dei file sensibili.
Domande Frequenti
La lezione «Permessi e proprietà dei file» è gratuita?
Sì — il testo completo di «Permessi e proprietà dei file» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Permessi e proprietà dei file»?
Padroneggi chmod, chown, sticky bit, SUID/SGID e comprenda come i permessi impediscono gli accessi non autorizzati. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Permessi e proprietà dei file»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Permessi e proprietà dei file
- Gestione di utenti e gruppi
- Hardening di SSH e autenticazione basata su chiavi
- Regole firewall con iptables e UFW