Perché gli 'Altri' possono leggere i file di default in Ubuntu?

6

Sto cercando di capire perché, quando creiamo nuovi file e directory, diciamo, nella cartella Documents , vengono assegnati, per impostazione predefinita, le seguenti autorizzazioni:

-rw-rw-r-- 1 hello world    0 Nov 19 12:17 'New Empty File'
drwxrwxr-x 2 hello world 4.0K Nov 19 12:16 'New Folder'/

Non dovrebbe "gli altri" non avere accesso ai miei file? Da quello che ho letto, Ubuntu è di default abbastanza sicuro. Tuttavia, da nessuna parte ho potuto trovare una razionalizzazione per questo comportamento. Gradirei una risposta:)

    
posta wombat trash 19.11.2018 - 12:21
fonte

2 risposte

15

Il modello delle autorizzazioni di Linux significa che, anche se sei l'unico utente del tuo computer, non sei l'unico utente sul sistema. Molti servizi creeranno il proprio account utente per l'esecuzione - ad esempio, Apache verrà eseguito normalmente con il proprio account dedicato.

Quello che noterai anche è che la tua cartella Inizio è solitamente accessibile solo per il tuo account - cioè permessi 700 o drwx------ . Ciò significa che solo tu puoi raggiungere la tua cartella Inizio, anche se le sottocartelle all'interno di quella cartella hanno pieno accesso.

Questa combinazione fornisce un utile equilibrio. Le autorizzazioni predefinite consentono agli account di servizio di leggere qualsiasi file sul sistema di cui potrebbero aver bisogno, ma non possono modificare nulla. Qualsiasi file personale per te dovrebbe essere nella tua cartella home, quindi un servizio non autorizzato non potrà accedervi.

Potresti trovare utile la Standard della gerarchia del filesystem . Questo descrive le autorizzazioni e le funzioni generalmente previste per i sistemi Unix / Linux e la maggior parte delle distribuzioni si atterrà a questo.

    
risposta data 19.11.2018 - 12:47
fonte
1

Quando crei nuovi file e directory, le autorizzazioni iniziali sono controllate dall'impostazione umask . L'applicazione che crea l'elemento specifica le autorizzazioni massime (in genere rwxrwxrwx per le directory e i file eseguibili, rw-rw-rw- per i file di dati), quindi le autorizzazioni in umask vengono sottratte da questo.

Quindi, se desideri autorizzazioni più restrittive, devi impostare umask per rimuovere le autorizzazioni che non desideri concedere. Le autorizzazioni che visualizzi provengono dall'avere umask 002 , quindi disattiva solo other=write . Se vuoi disabilitare other=read/execute , dovresti usare:

umask 007

Tradizionalmente, il umask 002 predefinito deriva dal presupposto che tutti gli utenti di un particolare sistema sarebbero una comunità cooperante (ad esempio, i programmatori nello stesso dipartimento di un'organizzazione), quindi non c'è motivo di impedire agli altri utenti di leggere il tuo file in generale. Se hai file specifici che sono più privati, daresti loro autorizzazioni più restrittive. Se l'ipotesi di cui sopra è inappropriata per gli utenti del tuo sistema, dovresti utilizzare una umask diversa predefinita negli script di avvio della shell.

    
risposta data 19.11.2018 - 18:48
fonte

Leggi altre domande sui tag