MiServe DevTools

I tuoi adesivi

Fissa qui gli strumenti. Restano salvati in questo browser.

Calcolatore chmod

Spunta i permessi, oppure scrivili come 755 o rwxr-xr-x, e ottieni il valore ottale, la forma simbolica e il comando chmod.

Bit dei permessi
Classe Lettura r = 4Scrittura w = 2Esecuzione x = 1 Speciali
Proprietario u
Gruppo g
Altri o

Cosa consentono questi permessi

    Comando con i permessi in ottale
    Comando con i permessi in forma simbolica

    Permessi comuni

    • Il proprietario può modificare il file e tutti possono leggerlo. Sono i permessi tipici di un file normale.
    • Solo il proprietario può leggere e modificare il file. Usali per i file privati come le chiavi SSH.
    • Il proprietario può modificarlo, e tutti possono leggerlo ed eseguirlo. Sono i permessi tipici di programmi e directory.
    • Solo il proprietario può leggerlo, modificarlo ed eseguirlo. Usali per directory e script privati.
    • Il proprietario e il gruppo possono modificarlo, e tutti possono leggerlo ed eseguirlo. Usali per le directory condivise da un gruppo.
    • Il proprietario e il gruppo possono modificare il file, e tutti possono leggerlo.
    • Solo il proprietario può leggere il file, e nessuna classe ha il permesso di scrittura.
    • Tutti possono creare file, ma lo sticky bit impedisce agli utenti di eliminare i file degli altri. Sono i permessi di /tmp.

    Funziona nel tuo browser. Nulla di ciò che incolli viene caricato.

    Informazioni su questo strumento

    Come sono composti i permessi

    Unix tiene tre insiemi di permessi per ogni file: uno per il proprietario, uno per il gruppo e uno per tutti gli altri. Ogni insieme ha tre bit, lettura (4), scrittura (2) ed esecuzione (1), e la somma dei bit attivi forma una cifra ottale. In 755 il proprietario ha 4 + 2 + 1 = 7, mentre il gruppo e gli altri hanno 4 + 1 = 5, che ls -l stampa come rwxr-xr-x.

    Il campo simbolico accetta anche la stringa completa di dieci caratteri di ls -l, come -rw-r--r-- o drwxr-xr-x. Il primo carattere indica il tipo di file, non un permesso, quindi lo strumento lo ignora.

    Cosa significano i bit su una directory

    Su una directory, la lettura permette di elencare i nomi che contiene e l'esecuzione di entrarci e raggiungere i file al suo interno. La scrittura permette di creare, eliminare e rinominare voci, ma solo insieme all'esecuzione. Per questo una directory di solito ha l'esecuzione ovunque ha la lettura. Significa anche che la possibilità di eliminare un file dipende dai permessi della directory che lo contiene, non da quelli del file.

    setuid, setgid e sticky bit

    Una quarta cifra in testa contiene tre bit speciali: setuid (4), setgid (2) e sticky (1). ls -l li mostra nella posizione dell'esecuzione come s o t. Una S o una T maiuscola indica che il bit speciale è attivo mentre il bit di esecuzione sottostante non lo è.

    I due comandi generati da questo strumento impostano i bit che hai spuntato, ma chmod non sempre rimuove un bit speciale che il file ha già. GNU chmod, usato dalla maggior parte delle distribuzioni Linux, mantiene i bit setuid e setgid di una directory se i permessi indicati non li nominano, anche con chmod 755: scrivi chmod 00755 o aggiungi a-s per azzerarli. Il chmod di macOS mantiene lo sticky bit con una clausola come o=rx, e lo rimuove con chmod -t. Lo sticky bit viene scritto come clausola +t separata perché entrambe le implementazioni accettano questa forma.

    Domande

    Cosa significa chmod 755?

    Il proprietario può leggere, scrivere ed eseguire; il gruppo e tutti gli altri possono leggere ed eseguire, ma non scrivere. Sono i permessi tipici di programmi, script e directory che altri possono usare ma solo il proprietario può modificare.

    Che permessi deve avere una chiave privata SSH?

    Usa 600, così solo il proprietario può leggere e scrivere il file. OpenSSH si rifiuta di usare una chiave privata che altri utenti possono leggere.

    Perché è meglio evitare chmod 777?

    Con 777 qualsiasi utente del sistema può modificare o sostituire il file e, se è una directory, aggiungere o eliminare file. Se un programma fallisce con un errore di permessi, scopri con quale utente gira e dai a quell'utente o al suo gruppo l'accesso che gli serve.

    Cosa significa una S o una T maiuscola in ls -l?

    Significa che setuid, setgid o lo sticky bit è attivo, ma il bit di esecuzione nella stessa posizione non lo è. Una s o una t minuscola indica che sono attivi entrambi.

    Ciò che scrivo viene inviato a un server?

    No. La conversione viene fatta da JavaScript nella scheda del tuo browser. Lo strumento non fa richieste di rete con ciò che scrivi, e la policy di sicurezza del sito blocca le richieste verso qualsiasi altro host.

    Altri strumenti in Rete