Ispettore permessi
Spiega i permessi ottali- ✓Nessun problema critico rilevato
Introduzione
L'ispettore permessi decodifica un modo ottale (ad esempio 0750) nella sua forma simbolica e segnala i bit che contano di più nelle revisioni di sicurezza: permessi scrivibili da tutti e il bit setuid.
I modi ottali sono tre o quattro cifre dove ogni cifra è una somma di lettura (4), scrittura (2) ed esecuzione (1) per una classe di utenti: proprietario, gruppo e altri. Una quarta cifra iniziale codifica i bit speciali: setuid (4), setgid (2) e sticky (1).
Obiettivo
- Tradurre qualsiasi modo ottale a tre o quattro cifre in notazione simbolica rwx.
- Identificare i bit speciali (setuid, setgid, sticky) quando presenti.
- Segnalare i permessi scrivibili da tutti come alta gravità e il setuid come avviso.
Input
- Un modo ottale a tre o quattro cifre, ad esempio 0750 o 644.
- Le cifre devono essere 0–7; lettere o simboli vengono rifiutati.
Come funziona
Il valore viene completato a quattro cifre (0750 resta 0750, 644 diventa 0644). Ogni cifra viene scomposta nei bit lettura/scrittura/esecuzione: ad esempio 7 = rwx, 5 = r-x, 0 = ---.
La prima cifra mappa i bit speciali: 4 aggiunge suid, 2 aggiunge sgid, 1 aggiunge sticky.
Se la classe "altri" ha permesso di scrittura (un 2, 3, 6 o 7 nell'ultima cifra), lo strumento segnala un risultato alto: qualsiasi utente locale può modificare l'oggetto. Se il setuid è impostato, un avviso chiede di verificare proprietà e integrità.
Esempio testabile
Prova — l'analisi gira localmente nel tuo browser.
Esempio
Modo: 4755
Output atteso
Simbolico: suid rwxr-xr-x Alto: SUID è impostato. Verificare proprietà e integrità del file. Nota: le classi proprietario e gruppo non sono scrivibili dagli altri.
Leggere l'output
- La riga simbolica ti dice esattamente chi può leggere, scrivere ed eseguire.
- Un file o una directory scrivibili da tutti (ultima cifra 2, 3, 6 o 7) significa che qualsiasi utente locale può modificarli — di solito un errore, salvo directory deliberate come /tmp.
- Gli eseguibili setuid girano con i privilegi del proprietario del file; un binario setuid compromesso è un percorso di escalation, quindi la proprietà deve essere root e il binario affidabile.
Rischi
- I file scrivibili da tutti consentono manomissioni da qualsiasi account locale, incluso uno compromesso.
- Un bit setuid inatteso su un binario non di proprietà di root è un classico vettore di escalation.
- Uno sticky bit su /tmp è normale; uno sticky bit altrove può essere accidentale.
Limiti
- Lo strumento interpreta un modo, non un file reale — non può dirti proprietario o gruppo effettivi.
- Non considera le ACL (setfacl), che sovrascrivono il modello rwx tradizionale.
- Gli avvisi sui bit speciali dipendono dal contesto; lo strumento non può sapere se un binario setuid è intenzionale.
Riferimenti ufficiali
FAQ
Cosa fanno i bit speciali?
Il setuid fa girare un programma con l'identità del proprietario del file (tipicamente root); il setgid fa lo stesso per il gruppo e, sulle directory, fa ereditare il gruppo della directory ai nuovi file; lo sticky bit su una directory limita l'eliminazione al proprietario del file (come su /tmp).
Perché 644 va spesso bene per i file ma 666 no?
644 dà al proprietario la scrittura e a tutti gli altri la sola lettura. 666 rende il file scrivibile da tutti — qualsiasi utente locale potrebbe sostituirlo o alterarlo.
Lo strumento controlla il file reale?
No. Incolla un modo per capirlo; per l'audit dei tuoi file reali usa ls -l o stat.