🔧Toolify

Calcolatore Permessi Unix (chmod)

Calcolatore chmod interattivo. Spunta o deseleziona i bit di permesso per proprietario, gruppo e altri, e leggi il numero ottale e la notazione simbolica in tempo reale. Oppure digita un numero ottale per decodificarlo.

tools.unix-permissions-calculator.input.symbolic
rwxr-xr-x
tools.unix-permissions-calculator.label.readtools.unix-permissions-calculator.label.writetools.unix-permissions-calculator.label.executeOct
tools.unix-permissions-calculator.label.owner7
tools.unix-permissions-calculator.label.group5
tools.unix-permissions-calculator.label.other5
755= 755
tools.unix-permissions-calculator.label.ownertools.unix-permissions-calculator.label.grouptools.unix-permissions-calculator.label.other

Valori predefiniti

chmod 755 filename

Come funziona

Origine della notazione ottale nei permessi Unix

I permessi di file Unix furono progettati da Ken Thompson nel 1969 come parte dell'Unix originale su un PDP-7. Ogni file memorizza nove bit di permesso nel suo inode: tre per il proprietario, tre per il gruppo e tre per tutti gli altri. Raggruppare ogni trio di bit in una singola cifra ottale (0–7) fu la scelta naturale: una cifra per entità, tre cifre in totale. Questa convenzione ottale fu codificata in POSIX.1-1988 e rimane invariata in tutti i sistemi Linux, macOS, BSD e derivati da Unix.

La forma simbolica (rwxr-xr-x) apparve nell'output di `ls -l` fin dalle prime distribuzioni Unix e divenne il complemento leggibile del numero ottale. POSIX definisce entrambe le rappresentazioni come normative. `chmod u+x file` usa la forma simbolica; `chmod 755 file` usa la forma ottale. Entrambi portano alla stessa operazione nel kernel: impostare bit specifici nel campo mode dell'inode.

Significato di ogni bit di permesso

Per un file regolare: lettura (r=4) consente di aprire e leggere il contenuto; scrittura (w=2) consente di modificare o troncare il file; esecuzione (x=1) consente di eseguirlo come programma. Ogni bit è indipendente. La cifra ottale di ciascuna entità è la somma dei bit impostati: rwx=7, r-x=5, r--=4.

Per una directory, i significati cambiano. La lettura (r) consente di elencare la directory con `ls`. L'esecuzione (x) — il 'bit di ricerca' — consente di entrarvi con `cd` e accedere ai file per nome. La scrittura (w) consente di creare, eliminare o rinominare file nella directory. Una directory con lettura ma senza esecuzione è quasi inutile: si vedono i nomi ma non si può aprire nessun file. Le directory tipiche hanno permessi 755.

Schemi di permessi comuni e sicurezza

644 (rw-r--r--) è lo standard per file di configurazione, HTML e testo: il proprietario può modificare, gli altri possono solo leggere. 755 (rwxr-xr-x) è lo standard per directory e script eseguibili: il proprietario gestisce il contenuto, gli altri possono navigare e leggere. 600 (rw-------) e 700 (rwx------) limitano l'accesso al solo proprietario — adatti per chiavi private SSH e file di password. Non usare mai 777 su nulla esposto sul web; dare la scrittura ad 'altri' significa che qualsiasi processo del sistema può sovrascrivere il file.

La umask determina i permessi predefiniti di nuovi file e directory. Una umask di 022 (comune sulla maggior parte dei sistemi) fa sì che i nuovi file ottengano 644 e le nuove directory 755, poiché i bit della umask vengono sottratti dal valore predefinito 666 (file) e 777 (directory). I sistemi con sicurezza rafforzata usano spesso umask 027 o 077.

Domande frequenti

Cosa significa 755?

755 significa che il proprietario ha lettura+scrittura+esecuzione (7=4+2+1), il gruppo ha lettura+esecuzione (5=4+1) e gli altri hanno lettura+esecuzione (5=4+1). È il permesso standard per directory e script eseguibili.

Cosa significa 644?

644 significa che il proprietario ha lettura+scrittura (6=4+2), il gruppo ha sola lettura (4) e gli altri hanno sola lettura (4). È il valore predefinito per file regolari come configurazioni, pagine web e documenti di testo.

Perché una directory ha bisogno del permesso di esecuzione?

Per le directory, il bit di esecuzione è il 'bit di ricerca'. Senza di esso non è possibile fare cd nella directory né aprire file al suo interno tramite percorso, anche se si ha il bit di lettura. Una directory con lettura ma senza esecuzione è praticamente inutile.

Qual è la differenza tra proprietario, gruppo e altri?

Il proprietario è l'account utente che possiede il file (impostato alla creazione o modificato con chown). Il gruppo è il gruppo assegnato al file (modificato con chgrp); qualsiasi utente in quel gruppo riceve i permessi del gruppo. Gli altri comprendono tutti gli utenti del sistema che non sono né il proprietario né nel gruppo.

Cosa sono SUID e SGID?

SUID (Set User ID) e SGID (Set Group ID) sono bit di permesso speciali oltre ai nove standard. Con SUID su un eseguibile, questo viene eseguito con i privilegi del proprietario del file anziché del chiamante — usato da comandi come passwd e sudo. SGID su una directory fa ereditare il gruppo della directory ai nuovi file. Nella forma simbolica appare come 's' (es. rwsr-xr-x) e aggiunge 4000 o 2000 al valore ottale (es. 4755).

chmod 777 è pericoloso?

Sì, soprattutto su un sistema condiviso o server web. 777 concede lettura, scrittura ed esecuzione complete a tutti gli utenti del sistema. Qualsiasi processo — incluse applicazioni web compromesse — può sovrascrivere o eseguire il file. Sui server web questo spesso abilita l'esecuzione di codice arbitrario. Limita i permessi al minimo necessario.

Come si usa il comando chmod?

Usa `chmod OTTALE percorso` per un singolo file, o `chmod -R OTTALE directory` per applicarlo ricorsivamente. Ad esempio: `chmod 644 index.html` o `chmod 755 /var/www`. Puoi anche usare la sintassi simbolica: `chmod u+x script.sh` aggiunge l'esecuzione al proprietario senza toccare gli altri bit.

Cos'è umask e come si relaziona ai permessi?

umask è una maschera applicata ai permessi predefiniti quando si crea un nuovo file o directory. Una umask di 022 rimuove la scrittura da gruppo e altri, così i nuovi file ottengono 644 e le nuove directory 755. Esegui `umask` nella shell per vedere l'impostazione attuale e `umask VALORE` per modificarla nella sessione corrente.

Strumenti correlati

Ultimo aggiornamento:

Prova i nostri prompt IA →