Strumenti per sviluppatori · Calcolatore Chmod
chmod vs chown: perché cambiare modalità spesso è la leva sbagliata
· Perché è importante
chmod unix controllo degli accessi
I bit di modalità significano solo qualcosa relativo a un proprietario e un gruppo. Questo post separa i due comandi e mostra come decidere, in base all'errore e all'identità del processo, quale è effettivamente necessario.
Due comandi, un errore: il permesso negato è stato "risolto" tre volte questo mese con tre diverse righe chmod e chown
chmod e chown indirizzano informazioni diverse, anche quando entrambi appaiono vicino a un errore di autorizzazione. La calcolatrice modella i bit di autorizzazione per proprietario, gruppo e altro, oltre a bit speciali. Non riceve alcun proprietario o gruppo corrente e non esegue alcuna operazione di proprietà. Una modalità può quindi essere tradotta correttamente mentre la relazione identitaria rimane sconosciuta e non testata.
Separa prima le domande. "Cosa consente 750?" è responsabile: il proprietario ottiene rwx, il gruppo ottiene r-x e l'altro non ottiene nulla. "Chi possiede questo?" e "Quale identità esegue il processo?" richiedono prove esterne. Modificare una modalità prima di risolvere l'identità può ampliare la classe sbagliata; le viste sincronizzate non possono scegliere tra chmod e modifiche della proprietà.
Prima la proprietà, poi la modalità: il modo in cui il kernel sceglie il proprietario, il gruppo o altri per un processo prima di esaminarne qualsiasi bit
La selezione della classe dipende dall'identità, che la calcolatrice non riceve mai. Il proprietario, il gruppo e le altre triple sono categorie, non account scoperti. Non può sapere se un processo corrisponde al proprietario, appartiene al gruppo del file o rientra in un altro. Rende semplicemente tutti e tre i set di permessi da un numero intero; le credenziali richiedono un'ispezione esterna.
L’identità è quindi un prerequisito per giudicare la rilevanza. Con la modalità 640, il proprietario ha letto e scritto, il gruppo ha letto e l'altro non ha nulla. La conversione è certa, ma la tripla applicabile no. Nessun UID, appartenenza, mappatura del contenitore o ACL entra nello stato. Stabilire prima questi fatti, quindi valutare i bit corrispondenti.
La selezione della classe dipende dall'identità, che la calcolatrice non riceve
Gli strumenti di proprietà cambiano chi occupa le relazioni del proprietario o del gruppo, mentre chmod modifica le autorizzazioni associate a tali classi. Questa calcolatrice implementa solo il lato di chmod. Genera testo chmod ottale o simbolico e non emette mai chown o chgrp. Inoltre non altera alcun file; il campo del percorso crea solo un'anteprima tra virgolette per la revisione esterna.
L'ampliamento di una modalità può esporre classi aggiuntive senza correggere la proprietà. Confronta 750 con 757: quest'ultimo aggiunge altre operazioni di lettura ed esecuzione. Il calcolatore mostra quel delta ma non può dire se i vantaggi o la proprietà di un altro account hanno causato l'errore. Stabilisci l'identità del proprietario, del gruppo e del processo esternamente, quindi concedi solo alle classi previste i bit richiesti.
Il modello di gruppo condiviso: chgrp più setgid nella directory più 2775 come risposta standard per due utenti che necessitano entrambi di scrivere
Un flusso di lavoro di gruppo condiviso richiede strumenti e criteri di proprietà esterni. La preimpostazione 775 è etichettata come "condivisa con un gruppo" perché la scrittura di gruppo è abilitata. Il preset 2775 aggiunge setgid, rendendo rwxrwsr-x; per le directory, i nuovi file ereditano il gruppo della directory. Queste descrizioni dei bit non costituiscono una progettazione di collaborazione completa o una raccomandazione di distribuzione.
La pagina non può creare gruppi, scegliere membri, eseguire chgrp o stabilire che 2775 sia adatto a un carico di lavoro. Inoltre, non può controllare gli ACL predefiniti, le umask o il comportamento dell'applicazione. Trattare la preimpostazione come un calcolo aritmetico e non come una politica. Risolvi la proprietà e l'appartenenza altrove, quindi confronta le modalità candidate basando l'effettiva progettazione della directory condivisa su prove ambientali.
Un flusso di lavoro di gruppo condiviso richiede strumenti e criteri di proprietà esterni
Dopo aver risolto la proprietà altrove, controlla la modalità directory 750. Il proprietario riceve lettura, scrittura ed esecuzione; il gruppo riceve lettura ed esecuzione; l'altro non riceve nulla. Il gruppo può elencare e inserire ma non creare, rinominare o eliminare voci. La calcolatrice restituisce rwxr-x--- e u=rwx,g=rx,o= senza controllare una directory o un account effettivo.
Ispeziona 640 separatamente per un file normale. Diventa rw-r-----: il proprietario legge e scrive, il gruppo legge e niente per gli altri. La pagina visualizza entrambi i risultati ma non può assegnarli in modo ricorsivo, identificare un account di distribuzione o scegliere un gruppo di servizi. Per dichiarare l'idoneità per /var/www sono necessari carichi di lavoro e prove di identità assenti qui.
Esempio risolto: ispeziona 750 e 640 dopo che la proprietà è stata risolta altrove
Il rilevamento dell'identità del processo si trova al di fuori di questo strumento del browser. Nessuna origine richiama ps, legge la configurazione del servizio, esamina gli spazi dei nomi del contenitore o esegue query sui database degli account. Il calcolatore non può identificare un conto corrente o gruppi supplementari, quindi non può determinare quale classe di autorizzazione governa un'operazione. Tale classificazione richiede prove attuali da parte dell'ambiente runtime e del file system responsabile.
Una volta stabilita esternamente l'identità, rivedere con precisione la classe pertinente. Se un processo deve utilizzare l'accesso di gruppo, 640 fornisce a quella classe la lettura ma non la scrittura, mentre 660 aggiunge la scrittura di gruppo. Questa aritmetica non è una raccomandazione; il bit corretto dipende dalle operazioni richieste. Mantieni la scoperta e la politica fuori dal convertitore, utilizzandole per prevenire errori di rappresentazione.
Il rilevamento dell'identità del processo è esterno a questo strumento del browser
Gli ACL e la mappatura del contenitore UID sono assenti dalla calcolatrice. Il suo modello include tre classi ordinarie e bit speciali, ma nessuna voce ACL denominata, maschera o traduzione dello spazio dei nomi. Una modalità può sembrare sufficiente mentre un altro livello limita l'accesso o restrittiva mentre un ACL lo espande. Il solo numero intero fornito non può risolvere nessuna delle due possibilità.
Gli input mancanti limitano sia la diagnosi che la riparazione. Il percorso non può scegliere tra modifiche chmod, chown, ACL o correzioni della mappatura. Può decodificare una modalità base fornita e riprodurre lettere speciali come s, S, t e T. Trattalo come un livello di prova, non come una prova dell'accesso di terze parti o del contenitore.
Conclusione: decidere l'identità prima dei bit, quindi utilizzare il calcolatore Chmod per rendere i bit esattamente larghi quanto richiede l'identità
Decidi l'identità prima dei bit. Una modalità funziona attraverso il proprietario, il gruppo e altre classi, ma la calcolatrice conosce le autorizzazioni piuttosto che gli account che le occupano. Dopo che l'ispezione esterna ha stabilito la proprietà e l'identità del processo, inserire un candidato e verificare ogni flag di lettura, scrittura ed esecuzione previsto. Il confronto dei valori vicini espone l'allargamento accidentale prima che i comandi lascino il browser.
L'output finale rimane una proposta. La pagina rifiuta input non corretti, sincronizza forme ottali e simboliche, spiega i significati di file e directory, cita percorsi e genera testo chmod. Non può eseguire comandi, modificare la proprietà, valutare ACL, ispezionare policy o testare applicazioni. Convalidare qualsiasi modifica proposta sul sistema responsabile dopo aver stabilito l'identità.