Strumenti per sviluppatori · Calcolatore Chmod
Spiegazione delle modalità chmod comuni: 644, 755, 600, 700, 2775 e 1777
· Sfondo
chmod unix controllo degli accessi
Una manciata di modalità copre quasi tutti i file che imposti. Questo post spiega il significato di rwx di ciascuno, la convenzione dietro di esso e la situazione in cui è la scelta giusta.
Gli stessi sei numeri ovunque: i tutorial dicono 644 o 755 senza mai spiegare la scelta
I numeri chmod familiari diventano utili quando i loro bit sono visibili. L'elenco delle preimpostazioni include 644, 600, 755, 700, 775, 1777, 4755 e 2775, ciascuno con un'etichetta breve. Selezionandone uno si guida il renderer standard, aggiornando l'output simbolico, la matrice dei permessi, il riepilogo a quattro cifre, la spiegazione e le anteprime dei comandi da un valore ispezionabile.
Una preimpostazione non è una decisione politica. La pagina non conosce né la proprietà di destinazione né i gruppi di processi, le voci ACL, l'accesso alla directory principale o il comportamento del file system. L'articolo 501 fornisce la disciplina migliore: iniziare con l'identità e l'azione fallita. Una preimpostazione offre un valore iniziale riproducibile, ma l'oggetto e l'ambiente reali determinano se quella modalità è adatta.
644 e 755: le impostazioni predefinite — rw-r--r-- per i dati, rwxr-xr-x per directory e programmi e perché umask 022 produce esattamente queste
L'elenco fornito presenta 644 per un file ordinario e 755 per un programma o una directory, non come impostazioni predefinite universali. La modalità 644 è rw-r--r--: il proprietario legge e scrive, mentre il gruppo e gli altri leggono. La modalità 755 è rwxr-xr-x: il proprietario ha rwx, mentre il gruppo e gli altri ricevono lettura ed esecuzione. Entrambi seguono l'aritmetica 4-2-1.
Il tipo di target spiega perché un numero non ha un significato operativo completo. Sui file, eseguire significa eseguire un programma; sulle directory, significa entrare e raggiungere le voci denominate. La modalità rimane 755 mentre la prosa cambia. Nessuna sorgente fornita calcola umask o prevede modalità appena create, quindi questi valori dovrebbero rimanere descritti come preimpostazioni fornite piuttosto che come inevitabili impostazioni predefinite.
644 e 755 sono preimpostazioni fornite, non predefinite universali
L'elenco etichetta 600 un file privato e 700 una directory privata. La modalità 600 esegue il rendering rw-------, consentendo solo al proprietario di leggere e scrivere; il suo esempio è una chiave privata SSH. La modalità 700 esegue il rendering di rwx------, garantendo solo al proprietario tutte le autorizzazioni ordinarie. Nelle directory, il gruppo assente e altri bit impediscono l'elenco o l'ingresso di tali classi.
Privato descrive bit riservati al solo proprietario, non sicurezza verificata. Il calcolatore non controlla mai proprietà, directory principali, ACL, regole di montaggio, policy obbligatorie o requisiti dell'applicazione. Confermare nella matrice che il gruppo e le altre caselle siano puliti, quindi ispezionare l'ambiente separatamente. L'anteprima chmod citata è solo testo del browser e non viene eseguita sul percorso visualizzato.
600 e 700 sono etichettati come privati dall'elenco delle preimpostazioni
Due preimpostazioni riguardano la condivisione di gruppi. La modalità 775 esegue il rendering di rwxrwxr-x, garantendo il proprietario e il gruppo rwx mentre gli altri ricevono lettura ed esecuzione. La modalità 2775 aggiunge setgid senza modificare le triple ordinarie. Per le directory, la spiegazione dice che i nuovi file ereditano il gruppo della directory. Poiché l'esecuzione del gruppo rimane impostata, setgid appare come s minuscola in rwxrwsr-x.
Nessuna delle preimpostazioni sceglie un proprietario o un gruppo. La pagina accetta una modalità e un percorso di visualizzazione ma non esegue alcuna ricerca di identità o operazione chown. La sua nota 775 suggerisce di associare l'accesso al gruppo scrivibile con setgid, mentre 2775 è etichettato come directory setgid. La collaborazione effettiva dipende ancora dall'appartenenza al gruppo e da eventuali regole aggiuntive applicate dal sistema di destinazione.
Condivisione di gruppi di modelli 775 e 2775 senza selezionare la proprietà
La preimpostazione 1777 rappresenta una directory permanente scrivibile da tutti, illustrata dal modello /tmp. I suoi permessi ordinari sono rwxrwxrwx, quindi ogni classe può elencare, modificare ed entrare. Il 1 iniziale abilita la persistenza, sostituendo la x finale con t e aggiungendo una spiegazione relativa all'eliminazione limitata. Ciò differenzia 1777 da 777 senza alterare le concessioni rwx di base.
La spiegazione della directory rimane volutamente ristretta. Sticky consente la creazione limitando la cancellazione o la ridenominazione al proprietario o alla radice di un file. La calcolatrice non identifica alcuna identità, non controlla alcuna directory e non osserva alcun tentativo di operazione, ACL o criterio di archiviazione. Tratta 1777 come un modello riconoscibile da decodificare, non come un'approvazione automatica per ogni posizione condivisa.
1777 viene presentato come modello di directory condivisa permanente
La modalità 4755 è la preimpostazione del programma setuid fornito. La sua base è 755 e l'iniziale 4 abilita setuid. Poiché è presente l'esecuzione del proprietario, il risultato è rwsr-xr-x con la s minuscola. La spiegazione del file dice che l'esecuzione utilizza l'identità del proprietario anziché quella del chiamante, e sia esso che l'etichetta preimpostata avvertono che questo raro cambiamento di privilegio merita una revisione.
Il display può rivelare una combinazione sospetta senza giudicare un programma. Se setuid rimane mentre l'esecuzione del proprietario viene cancellata, viene visualizzata la S maiuscola, come in 4644, e la spiegazione indica che non c'è nulla da eseguire. I test verificano entrambe le forme e ogni viaggio di andata e ritorno. Non viene eseguita alcuna revisione del codice, controllo della proprietà, analisi delle capacità o esecuzione.
4755 espone un programma setuid e un avviso sul motivo della revisione
La modalità 777 è assente dalle preimpostazioni fornite, sebbene la libreria possa analizzarla. Un file 777 attiva un avviso perché qualsiasi account può modificarne il contenuto. Una directory 777 garantisce ogni classe rwx e, senza sticky, consente la cancellazione di voci che gli utenti non possiedono. Niente nei sorgenti presenta 777 come un rimedio generico agli errori di autorizzazione.
La condivisione di ACL e altri modelli di autorizzazione sono separati. Questo convertitore rappresenta un proprietario, un gruppo, tutti gli altri e tre bit speciali. Non ha voci ACL denominate, maschere, sintassi di Windows, rilevamento della piattaforma o query del file system. Una conversione rwx accurata può fornire informazioni utili per la diagnosi, ma le prove specifiche della piattaforma devono stabilire l'accesso concesso al di fuori della modalità tradizionale.
777, ACL sharing e altre piattaforme rimangono domande separate
L'utile foglietto illustrativo è la prova dietro i numeri, non i valori magici. Seleziona qualsiasi preimpostazione spedita e controlla il proprietario, il gruppo, l'altro e le caselle speciali che attiva. Confronta la forma simbolica di nove caratteri con il riassunto di quattro cifre. Ciò espone setuid, setgid e sticky, mentre la selezione della destinazione mantiene l'esecuzione del file distinta dall'attraversamento della directory nella spiegazione.
Applica solo la conclusione supportata dalla pagina. Una preimpostazione fornisce uno schema di bit esatto e una breve etichetta di scopo, non la conoscenza della proprietà, del carico di lavoro, degli ACL, delle directory principali, dei montaggi o delle minacce. L'anteprima del comando non viene mai eseguita. Seguendo l'articolo 501, inizia con identità e azione, verifica la rappresentazione qui, quindi rivedi il sistema reale prima di modificare qualsiasi cosa.