Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

3.4.4. Gestione dei diritti‌


Linux è un sistema multiutente quindi è necessario fornire un sistema di permessi per controllare l'insieme delle operazioni autorizzate su file e directory, che includa tutte le risorse e i dispositivi di sistema (su un sistema Unix, ogni dispositivo è rappresentato da un file o rubrica). Questo principio è comune a tutti i sistemi Unix-like.

Ogni file o directory dispone di autorizzazioni specifiche per tre categorie di utenti:


• Il suo proprietario (simboleggiato da u, come in utente)


• Il suo gruppo proprietario (simboleggiato da g, come nel gruppo), che rappresenta tutti i membri del gruppo


• Gli altri (simboleggiati da o, come in altri) Tre tipi di diritti possono essere combinati:

• lettura (simboleggiata da r, come in lettura);


• scrivere (o modificare, simboleggiato da w, come in scrittura);


• esecuzione (simboleggiata da x, come in eXecute).


Nel caso di un file, questi diritti sono facilmente comprensibili: l'accesso in lettura consente di leggere il contenuto (inclusa la copia), l'accesso in scrittura consente di modificarlo e l'accesso in esecuzione consente di eseguirlo (che funzionerà solo se si tratta di un programma).


setuido ed setgid Due diritti particolari sono rilevanti per i file eseguibili: setuido ed setgid (simboleggiato eseguibili con la lettera “s”). Nota che parliamo spesso di bit, poiché ciascuno di questi valori booleani può essere rappresentato da uno 0 o da un 1. Questi due diritti consentono a qualsiasi utente di eseguire

il programma con i diritti rispettivamente del proprietario o del gruppo. Questo meccanismo garantisce l'accesso a funzionalità che richiedono autorizzazioni di livello superiore rispetto a quelle che normalmente avresti.

Dal setuido root viene eseguito sistematicamente sotto l'identità di superutente, è molto importante assicurarsi che sia sicuro e affidabile. Qualsiasi utente che riesce a sovvertire un programma root setuid per chiamare un comando a sua scelta potrebbe quindi impersonare l'utente root e avere tutti i diritti sul sistema. I tester di penetrazione cercano regolarmente questi tipi di file quando ottengono l'accesso a un sistema per aumentare i propri privilegi.

setuido ed setgid Due diritti particolari sono rilevanti per i file eseguibili: setuido ed setgid (simboleggiato eseguibili con la lettera “s”). Nota che parliamo spesso di bit, poiché ciascuno di questi valori booleani può essere rappresentato da uno 0 o da un 1. Questi due diritti consentono a qualsiasi utente di eseguire

il programma con i diritti rispettivamente del proprietario o del gruppo. Questo meccanismo garantisce l'accesso a funzionalità che richiedono autorizzazioni di livello superiore rispetto a quelle che normalmente avresti.

Dal setuido root viene eseguito sistematicamente sotto l'identità di superutente, è molto importante assicurarsi che sia sicuro e affidabile. Qualsiasi utente che riesce a sovvertire un programma root setuid per chiamare un comando a sua scelta potrebbe quindi impersonare l'utente root e avere tutti i diritti sul sistema. I tester di penetrazione cercano regolarmente questi tipi di file quando ottengono l'accesso a un sistema per aumentare i propri privilegi.


Immagine

Una directory viene gestita in modo diverso da un file. L'accesso in lettura dà diritto alla consultazione dell'elenco dei suoi contenuti (file e directory); l'accesso in scrittura consente di creare o eliminare file; ed eseguire l'accesso consente di attraversare la directory per accedere al suo contenuto (ad esempio, con il cd comando). Essere in grado di attraversare una directory senza poterla leggere dà all'utente il permesso di accedere alle voci in essa note per nome, ma non di trovarle senza conoscerne il nome esatto.



SICUREZZA I setgid bit si applica anche alle directory. Qualsiasi elemento appena creato in tali directory

SICUREZZA I setgid bit si applica anche alle directory. Qualsiasi elemento appena creato in tali directory


setgid directory e appiccicoso

bit

viene assegnato automaticamente il gruppo proprietario della directory padre, invece di ereditare-

ing il gruppo principale del creatore come al solito. Per questo motivo, non devi cambiare il tuo gruppo principale (con il newgrp comando) quando si lavora in un albero di file condiviso tra più utenti dello stesso gruppo dedicato.

I bit appiccicoso (simboleggiato dalla lettera “t”) è un permesso utile solo nelle directory. È usato specialmente per le directory temporanee in cui tutti hanno accesso in scrittura (come / Tmp /): limita l'eliminazione dei file in modo che solo il loro proprietario o il proprietario della directory padre possa eliminarli. In mancanza di questo, tutti potrebbero eliminare i file di altri utenti in / Tmp /.

setgid directory e appiccicoso

bit


Tre comandi controllano i permessi associati a un file:

Immagine

· XNUMX€ chown file utente cambia il proprietario del file


Consiglio Spesso si desidera modificare il gruppo di un file nello stesso momento in cui si

Consiglio Spesso si desidera modificare il gruppo di un file nello stesso momento in cui si


Modifica dell'utente e

gruppo

cambiare proprietario. Il chown comando ha una sintassi speciale per questo: chown

Utente:file di gruppo

Modifica dell'utente e

gruppo

· XNUMX€ chgrp file di gruppo altera il gruppo di proprietari

· XNUMX€ chmod file dei diritti cambia i permessi per il file

Ci sono due modi di rappresentare i diritti. Tra questi, la rappresentazione simbolica è probabilmente la più facile da capire e ricordare. Coinvolge i simboli delle lettere sopra menzionati. È possibile definire i diritti per ogni categoria di utenti (u/g/o), impostandoli esplicitamente (con =), aggiungendo

(+), o sottraendo (-). Quindi il u=rwx,g+rw,o La formula fornisce al proprietario i diritti di lettura, scrittura ed esecuzione, aggiunge i diritti di lettura e scrittura per il gruppo di proprietari e rimuove i diritti di lettura per altri utenti. I diritti non alterati dall'addizione o dalla sottrazione in tale comando rimangono invariati. La lettera a, per tutti, copre tutte e tre le categorie di utenti, in modo che a=rx concede a tutte e tre le categorie gli stessi diritti (leggere ed eseguire, ma non scrivere).

La rappresentazione numerica (ottale) associa ogni diritto a un valore: 4 per la lettura, 2 per la scrittura e 1 per l'esecuzione. Associamo ogni combinazione di diritti alla somma delle tre cifre e ad ogni categoria di utenti viene assegnato un valore, nel consueto ordine (proprietario, gruppo, altri).

Per esempio, la chmod 754 filetto il comando imposterà i seguenti diritti: lettura, scrittura ed esecuzione per il proprietario (dal 7 = 4 + 2 + 1); leggere ed eseguire per il gruppo (da 5 = 4 + 1); di sola lettura per gli altri. Il 0 significa nessun diritto; così chmod 600 filetto consente permessi di lettura e scrittura per il proprietario e nessun diritto per nessun altro. Le combinazioni giuste più frequenti sono 755 per file eseguibili e directory, e 644 per i file di dati.

Per rappresentare diritti speciali, puoi anteporre una quarta cifra a questo numero secondo lo stesso principio, dove il setuido, setgide appiccicoso i bit sono rispettivamente 4, 2 e 1. Il comando chmod 4754 assocerà il setuido bit con i diritti precedentemente descritti.

Nota che l'uso della notazione ottale ti consente solo di impostare tutti i diritti contemporaneamente su un file; non è possibile utilizzarlo per aggiungere un nuovo diritto, come l'accesso in lettura per il proprietario del gruppo, poiché è necessario prendere in considerazione i diritti esistenti e calcolare il nuovo valore numerico corrispondente.

La rappresentazione ottale è usata anche con il umask comando, che viene utilizzato per limitare le autorizzazioni sui file appena creati. Quando un'applicazione crea un file, assegna permessi indicativi, sapendo che il sistema rimuove automaticamente i diritti definiti con umask. entrare umask in un guscio; vedrai una maschera come 0022. Questa è semplicemente una rappresentazione ottale dei diritti da rimuovere sistematicamente (in questo caso, i diritti di scrittura per il gruppo e altri utenti).

Immagine

Se gli dai un nuovo valore ottale, il umask comando modifica la maschera. Utilizzato in un file di inizializzazione della shell (ad esempio, ~ / .bash_profile), cambierà effettivamente la maschera predefinita per le tue sessioni di lavoro.


Consiglio A volte dobbiamo cambiare i diritti per un intero albero di file. Tutti i comandi sopra

Consiglio A volte dobbiamo cambiare i diritti per un intero albero di file. Tutti i comandi sopra


Operazione ricorsiva

hanno -R opzione per operare ricorsivamente nelle sottodirectory.

La distinzione tra directory e file a volte causa problemi con le operazioni ricorsive. Ecco perché la lettera “X” è stata introdotta nella rappresentazione simbolica dei diritti. Rappresenta un diritto di esecuzione che si applica solo alle directory (e non ai file privi di tale diritto). Così, chmod -R a+X elenco aggiungerà solo i diritti di esecuzione per tutte le categorie di utenti (a) per tutte le sottodirectory ei file per i quali almeno una categoria di utenti (anche se l'unico proprietario) dispone già dei diritti di esecuzione.

Operazione ricorsiva

Il miglior sistema operativo cloud computing su OnWorks: