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.label.read | tools.unix-permissions-calculator.label.write | tools.unix-permissions-calculator.label.execute | Oct | |
|---|---|---|---|---|
| tools.unix-permissions-calculator.label.owner | 7 | |||
| tools.unix-permissions-calculator.label.group | 5 | |||
| tools.unix-permissions-calculator.label.other | 5 |
Valori predefiniti
chmod 755 filenameCome 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: