OTOthoTools

Ispettore permessi

Spiega i permessi ottali
Risultatosimbolico
rwxr-x---
  • 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.