Strumenti per sviluppatori · Calcolatore Chmod
Cosa fa il bit di esecuzione su una directory e perché le cartelle 644 si interrompono
· Come funziona
chmod unix flusso di lavoro dello sviluppatore
In una directory, x non riguarda l'esecuzione di nulla; concede il diritto di attraversamento. Questo post spiega la suddivisione read/search, i casi strani che produce e le modalità che li evitano.
Autorizzazione negata su un file che puoi leggere: il file è 644, la directory è 644 e cat continua a non funzionare
Un file leggibile può rimanere irraggiungibile quando la sua directory non viene eseguita per la classe pertinente. L'articolo 501 chiama la directory per eseguire l'attraversamento anziché eseguire una cartella. La spiegazione della directory della calcolatrice è più esplicita: leggere elenca le voci, scrivere consente di modificare le voci ed eseguire consente di accedere alla directory e di raggiungere i file all'interno in base al nome. La modalità 644 non ha bit di esecuzione per nessuna classe.
Confronta 644 con 755 mentre la destinazione è impostata sulla directory. Il primo rende rw-r--r--; il secondo rende rwxr-xr-x. Ogni classe ottiene l'esecuzione, mentre solo il proprietario mantiene la scrittura in entrambe le modalità. Questo contrasto spiega la differenza di autorizzazione rappresentata. La pagina non controlla il file, identifica il processo di accesso o verifica se una directory antenata blocca il percorso effettivo.
Leggi elenchi, esegui attraversamenti: come la directory r mostra i nomi mentre x ti consente di aprire le voci per nome e visualizzarle
La lettura e l'esecuzione delle directory sono flag separati con spiegazioni separate. La lettura corrisponde alle voci dell'elenco. Eseguire corrisponde ad entrare nella directory e raggiungere i file con nome al suo interno. Una classe può quindi avere l'uno senza l'altro nel modello numerico. La matrice mantiene visibile questa distinzione posizionando la lettura al peso 4 e l'esecuzione al peso 1 all'interno di ciascuna cifra della classe.
La modifica di una cifra di un'altra classe da 4 a 5 è una dimostrazione mirata. La tripla simbolica si sposta da r-- a r-x e la spiegazione della directory aggiunge la raggiungibilità basata sul nome pur mantenendo l'elenco. Questo è un fatto di conversione, non un test di accesso dal vivo. Proprietà, identità, voci ACL e policy obbligatorie sono assenti, quindi il calcolatore non può dire quale classe governa una richiesta reale.
Le quattro combinazioni: r senza x, x senza r, entrambe e nessuna delle due, e cosa consente effettivamente di fare ciascuna di esse
Le quattro combinazioni di lettura ed esecuzione sono rappresentabili senza assegnare un comportamento del sistema più ampio. La cifra 4 è r--, la cifra 1 è --x, la cifra 5 è r-x e la cifra 0 è ---. Per una directory target, la prosa generata associa i bit selezionati all'elenco e alla raggiungibilità basata sul nome. Write rimane un flag indipendente e non è implicito né in lettura né in esecuzione.
Utilizzare la matrice per isolare una classe alla volta anziché trattare una modalità a tre cifre come un'etichetta. La pagina ricostruisce l'intero ogni volta che una casella cambia, quindi la cifra corrispondente e la posizione simbolica si spostano insieme. Non può aprire una directory o tentare una ricerca. Le quattro combinazioni sono autorizzazioni modellate esatte, mentre qualsiasi risultato effettivo dipende dal contesto di destinazione osservato separatamente.
L'attraversamento si applica a ogni antenato: perché una directory restrittiva più in alto nel percorso interrompe l'accesso a tutto ciò che si trova sotto
L'articolo 501 identifica un'autorizzazione di esecuzione della directory principale mancante come motivo per cui una modalità file valida potrebbe non risolvere l'accesso. Ogni componente di directory in un percorso presenta la propria domanda di modalità. La calcolatrice può decodificare ciascun valore fornito in modo indipendente e mostrare se è presente il proprietario, il gruppo o un'altra esecuzione. Non può percorrere il percorso o determinare quale classe si applica all'identità richiedente.
Ciò rende l'analisi degli antenati un flusso di lavoro di ispezione esterna piuttosto che una funzionalità di calcolo. Se un genitore viene segnalato come 750, la pagina mostra rwxr-x---; se un altro è 700, mostra rwx------. Questa differenza è concreta, ma non si giunge ad alcuna conclusione finché non si conoscono la proprietà e l’appartenenza al processo. L'anteprima del comando rimane inerte e non offre alcuna prova che la modifica di una delle directory sia appropriata.
Esempio realizzato: correzione di una radice web: controllo di ciascuna directory da/verso il file servito e scelta 755 o 750
Per un esempio web-root, ispezionare le modalità fornite componente per componente invece di prescrivere un valore per l'albero. La modalità 755 garantisce il proprietario rwx e gruppo e altri r-x; la modalità 750 rimuove tutte le altre autorizzazioni mantenendo il gruppo r-x. Il convertitore rende visibile questa differenza. Non può identificare un processo web, scoprire il percorso o scegliere quale classe necessita di attraversamento.
Controlla il file servito separatamente dalle sue directory. Una modalità file fornita come 644 restituisce rw-r--r--, mentre lo stesso numero selezionato come directory descrive azioni diverse e non viene eseguito ovunque. Questa dicitura sensibile al target impedisce che la lettura del file venga confusa con l'attraversamento della directory. L'idoneità dipende ancora dalla proprietà effettiva, dall'identità del processo, dagli antenati e da qualsiasi livello di controllo dell'accesso assente nella pagina.
Ricorsione eseguita correttamente: perché chmod -R 644 su un albero è il classico errore e come X maiuscola o find -type d lo evitano
La visualizzazione ricorsiva è intenzionalmente modesta. Selezionandolo si inserisce solo -R nel comando chmod generato; la calcolatrice non enumera un albero né distingue i file dalle directory. L'applicazione di una modalità 644 completata ovunque lascerebbe l'esecuzione della directory pulita in ogni classe. La pagina può rivelare quel risultato, ma non implementa la X maiuscola o un flusso di lavoro di selezione del tipo di file.
Anche le assegnazioni simboliche generate rimangono fisse. Per 644 sono u=rw,g=r,o=r, non un comando relativo che preserva condizionatamente l'attraversamento. Il campo in stile ls mostra rw-r--r-- e non deve essere confuso con l'elenco di assegnazioni. Qualsiasi strategia di ricorsione esterna deve essere verificata al di fuori di questo percorso, inclusa la selezione della destinazione, la gestione dei collegamenti e le modalità finali posizionate su diversi tipi di oggetti.
Ciò che questo non copre: comportamento persistente e setgido sulle directory e maschere ACL, che sono trattate nei rispettivi post
Le maschere permanenti, setgid e ACL sono separate dalla domanda trasversale ordinaria. La calcolatrice implementa la rappresentazione fissa e fissa e le spiegazioni sensibili al target, ma il confronto principale di questo articolo deve solo essere letto ed eseguito. Le maschere ACL non sono rappresentate affatto. Una corretta conversione in modalità base non può stabilire se voci aggiuntive concedono o limitano l'accesso per una particolare identità.
Anche Umask è fuori dal test. La pagina accetta una modalità completata, non le impostazioni del processo che potrebbero averla preceduta. Se viene visualizzata una directory con 644, il convertitore può mostrare le posizioni di esecuzione mancanti e generare un comando candidato per un altro valore fornito. Non può dire perché sia nata questa modalità, se la proprietà sia sbagliata o se modificarla risolva il vero fallimento.
Conclusione: le directory hanno bisogno di x per essere utilizzabili e la calcolatrice rende la differenza tra 644 e 755 visibile come r-- rispetto a r-x
La conclusione duratura è che la directory x rappresenta la voce e la raggiungibilità basata sul nome nella spiegazione di questa calcolatrice. La modalità 644 visualizza r-- per gruppo e altro, mentre 755 visualizza r-x per entrambi e aggiunge anche l'esecuzione del proprietario. Il campo ottale sincronizzato, il campo simbolico, la matrice e la prosa rendono ispezionabile tale distinzione senza considerare nessuno dei due numeri familiari come universalmente corretto.
Diagnosticare oltre l'aritmetica prima di applicare qualsiasi cosa. Conferma l'identità, la proprietà, la modalità fornita da ciascun antenato e il tipo di destinazione. Quindi utilizzare la calcolatrice per verificare qualsiasi valore candidato completato. Rifiuterà la notazione non corretta e mostrerà esattamente quali bit cambiano, ma non apre mai il percorso, non esegue chmod, valuta la politica dell'applicazione o dimostra che i bit in modalità tradizionale sono l'unica autorità.