Strumenti per sviluppatori · Calcolatore Chmod
Cosa non può esprimere chmod: funzionalità, file immutabili e MAC
· Sfondo
chmod unix controllo degli accessi
I bit di modalità sono uno dei diversi livelli che decidono se un'operazione ha esito positivo. Questo post presenta gli altri (capacità dei file, flag chattr, SELinux e AppArmor) e come riconoscere il rifiuto di ciascuno.
Il root non può scrivere un file 644: la modalità dice sì, chmod non cambia nulla e l'errore persiste
Una modalità può consentire un'operazione mentre l'operazione ancora non riesce. La calcolatrice decodifica 644 come rw-r--r--, il che significa che il proprietario può leggere e modificare un file normale mentre il gruppo e altri possono leggerlo. Ciò risolve solo i bit tradizionali forniti. Non dimostra né la proprietà del processo, né l’identità del percorso, né l’assenza di un altro livello di applicazione.
Le fonti menzionano diversi controlli non modellati: funzionalità, attributi immutabili, policy di accesso obbligatorio, flag di montaggio, spazi dei nomi, filtri syscall, ACL e proprietà. Rientrare in una modalità o generare un altro comando chmod non rivela nulla al riguardo. Innanzitutto verificare l'accordo ottale, simbolico e di matrice; se il fallimento persiste, raccogli prove dall'ambiente invece di ampliare le ipotesi di chmod.
Un'operazione compatibile con la modalità può comunque non riuscire per i layer che questo strumento non può vedere
La calcolatrice non prevede alcun ordinamento tra i controlli esterni. Il suo intero modello di dati è un numero intero da 0000 ottale a 7777, espanso in proprietario, gruppo, altro, setuid, setgid e booleani appiccicosi. Le spiegazioni utilizzano quel valore e il tipo di destinazione. Nessun percorso decisionale del kernel, sequenza del modulo di sicurezza o risultato della chiamata di sistema entra nel calcolo.
Questa limitazione rende la pagina un primo passo controllato. Confermare la modalità, distinguere l'attraversamento dall'esecuzione e annotare le lettere con bit speciali. L'articolo 501 aggiunge la proprietà e l'esecuzione della directory principale come controlli nelle vicinanze. Oltre a ciò, queste fonti non forniscono alcuna classificazione diagnostica tra ACL, policy obbligatorie, montaggi, attributi, spazi dei nomi, funzionalità o filtri. Una modalità compatibile non fa altro che restringere la questione.
Il calcolatore non modella l'ordinamento tra i livelli di applicazione esterni
Le capacità dei file non rientrano nelle prove disponibili. L'implementazione non contiene nomi di funzionalità, parser di dati, comandi di ispezione o resoconti della loro interazione con setuid. Può codificare setuid come 4000 e spiegare un normale file eseguibile. Questo non dovrebbe diventare un paragone con sistemi di privilegi più dettagliati che questo repository non modella né documenta.
Ciò che la pagina dimostra è concreto. La modalità 4755 diventa rwsr-xr-x, il suo riepilogo si chiama setuid e le assegnazioni aggiungono u+s. La modalità 4644 utilizza la S maiuscola perché l'esecuzione del proprietario è assente, esponendo una combinazione chiamata quasi sempre errata. I test stabiliscono questi fatti modali; gli strumenti esterni devono determinare se esistono capacità, consentire l'accesso o offrire una progettazione migliore.
Le funzionalità dei file sono esterne al set di origine
Anche gli attributi immutabili e di sola aggiunta sono assenti dal modello. La calcolatrice non legge gli attributi del filesystem né riconosce i comandi per modificarli. La sua matrice contiene rwx per proprietario, gruppo e altro, oltre a tre bit speciali. Un bit di scrittura visibile pertanto non può garantire una scrittura riuscita e attivandolo ripetutamente non è possibile diagnosticare un attributo che la pagina non ha mai osservato.
Mantenere operativa la distinzione. Se 644 viene visualizzato correttamente, la scrittura del proprietario esiste nella modalità tradizionale; questa è una prova di rappresentazione, non una scrittura completata. La pagina non apre il percorso di visualizzazione tra virgolette sicure né esegue il comando generato. Quando un numero sufficiente di bit accompagna un guasto reale, ispezionare l'oggetto e il sistema reali anziché attribuire uno stato non osservato.
Gli attributi immutabili e di sola aggiunta sono esterni al set di origine
I contesti, i profili e i log di controllo dell'accesso obbligatori non vengono analizzati qui. Le fonti menzionano SELinux e AppArmor solo come esempi di decisioni che il calcolatore non può osservare. Non forniscono sintassi del contesto, semantica delle policy, formato di registro o comando diagnostico. La modalità da sola quindi non può attribuire una negazione a nessuno dei due sistemi; le prove devono provenire dall’ambiente di esecuzione.
Il selettore di file o directory rafforza questo confine. Cambia verbi come esegui, elenca, crea, elimina, inserisci e raggiungi, ma non altera il numero intero né legge un'etichetta di policy. Un programma 755 e una directory condividono rwxr-xr-x descrivendo diverse azioni ordinarie. Nessuna delle due spiegazioni prevede i risultati delle politiche obbligatorie, quindi mantieni la modalità verificata e consulta i registri della piattaforma.
I contesti e i log di controllo dell'accesso obbligatori sono esterni al set di origini
Una modalità fornita non può rivelare le opzioni di montaggio. La calcolatrice accetta testo ottale o simbolico e un percorso opzionale utilizzato solo per la visualizzazione dei comandi. Non apre mai quel percorso, ne identifica il montaggio o legge la configurazione. Le fonti elencano il comportamento di sola lettura, di non esecuzione e di no-setuid come problemi esterni, ma non forniscono dettagli sulla piattaforma per diagnosticare tali policy.
Il testo generato può includere una modalità ottale, un percorso tra virgolette e un flag -R visualizzato, ma nessuno dimostra che un filesystem onorerà la richiesta. Anche un valore di bit speciale che esegue perfettamente il andata e ritorno può essere inefficace in base a regole invisibili. Tratta il comando come un artefatto di revisione, quindi verifica il filesystem di destinazione prima di dichiarare che le autorizzazioni sono state modificate o che l'esecuzione è diventata possibile.
Le opzioni di montaggio non vengono rilevate da una modalità fornita
Gli spazi dei nomi e i filtri delle chiamate di sistema non compaiono da nessuna parte nel modello di modalità. Gli input non contengono identità di processo, contesto del contenitore, elenco di chiamate di sistema o configurazione di runtime. La pagina non può sapere se un processo vede lo stesso percorso, raggiunge l'oggetto previsto o ha una chiamata filtrata. Queste domande differiscono fondamentalmente dall'aggiunta di 4, 2 e 1 all'interno delle triple di autorizzazione.
Non dedurre meccanismi di runtime da una conversione riuscita. La convalida riguarda le cifre ottali non corrette, la lunghezza simbolica e le lettere fuori posto. Un risultato valido significa solo che il testo corrisponde a una modalità rappresentabile; non convalida un ambiente di esecuzione. Poiché il testo della shell generato è inerte, l'analisi dello spazio dei nomi e dei filtri richiede ancora prove di runtime assenti da queste fonti.
Gli spazi dei nomi e i filtri delle chiamate di sistema non sono rappresentati
Inizia con la modalità perché è compatta e facile da escludere o escludere. Traduci il valore, ispeziona ogni classe, distingui il file dalla directory ed esponi qualsiasi prefisso a bit speciale. L'accordo tra ottale, simbolico, matrice, riassunto e spiegazione rende la domanda tradizionale ben formulata. Potrebbe rivelare una parte mancante o eccessiva, non un'autorità esclusiva.
Continuare solo con prove provenienti dal sistema reale. Proprietà, ACL, attributi, policy obbligatorie, montaggi, funzionalità, spazi dei nomi, filtri e regole dell'applicazione non vengono rilevati qui. L'anteprima non legge né modifica un file. La conclusione disciplinata è ristretta: risolvere localmente l’aritmetica della modalità fornita, quindi indagare sull’applicazione esterna invece di scorrere valori chmod più ampi senza conoscere la negazione.