Perché altri utenti possono vedere i file nella mia cartella home?


Risposte:


32

PublicEsiste una cartella nella directory Home ( /home/user) per la condivisione di file con altri utenti. Se un altro utente desidera accedere a questa Publiccartella, il bit di esecuzione per il mondo dovrebbe essere impostato nella directory Home.

Se non devi consentire ad altri di accedere alla tua cartella home (altri umani o utenti come www-dataper un server web), starai bene con chmod o-rwx "$HOME"(rimuovi lettura / scrittura / esecuzione da "altro", equivalente a chmod 750 "$HOME"poiché l'autorizzazione predefinita è 750 ). Altrimenti, è necessario modificare anche l' umaskimpostazione per impedire ai file appena creati di ottenere le autorizzazioni di lettura per il mondo per impostazione predefinita.

Per una configurazione a livello di sistema, modifica /etc/profile; le impostazioni per utente possono essere configurate in ~/.profile. Preferisco la stessa politica per tutti gli utenti, quindi modificherei il /etc/profilefile e aggiungerei la riga:

umask 027

È necessario ripetere il login per applicare queste modifiche, a meno che non ci si trovi in ​​una shell. In tal caso, è possibile eseguire umask 027nella shell.

Ora per correggere le autorizzazioni esistenti, è necessario rimuovere le autorizzazioni di lettura / scrittura / esecuzione da altri:

chmod -R o-rwx ~

Ora se decidi di condividere la ~/Publiccartella con tutti, esegui i seguenti comandi:

  • chmod o+x ~- Consenti a tutti di scendere nella directory ( x), ma non ottenere un elenco di directory ( rnon dovrebbe essere aggiunto)
  • find ~/Public -type f -exec chmod o+r {} \; - consentire a tutti di leggere i file in ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - consentire a tutti di scendere nelle directory ed elencare i loro contenuti

Se si utilizzano coreutils GNU (ad es. Su Ubuntu, non solo su un sistema integrato con busybox), i due precedenti comandi utilizzano finde chmodpossono essere sostituiti da questo singolo comando che rende ricorsivamente leggibili cartelle e file (e inoltre aggiunge il comando di esecuzione (discesa) bit solo per directory ):

chmod -R o+rX ~/Public


7

Secondo Mark Shuttleworth ,

"La maggior parte degli utenti dei sistemi Ubuntu ha l'uso esclusivo della macchina (laptop personale) o condivide con amici e parenti. Partiamo dal presupposto che le persone che condividono la macchina sono fidate o in grado di hackerare la macchina (avvio da USB!) banalmente. Di conseguenza, ci sono pochi o nessun vantaggio "

... dalla rimozione di tali autorizzazioni.


12
Penso che avere lo stesso comportamento nell'edizione Server sia un buco nella sicurezza
warvariuc,

4
Questa è una spiegazione folle. Oltre agli account di persone, esistono account tecnici che le persone possono utilizzare per isolare le applicazioni. Inoltre, ci sono molte istruzioni su come configurare un server ftp locale che sostanzialmente condivide l'account sulla macchina.
Barafu Albino,

4
So che questo è un vecchio thread, ma lo considero una decisione stupida. Immagina che uno degli utenti esegua app / script (può essere involontariamente) in grado di leggere e inviare file da qualsiasi altro profilo.
mauron85,


1

Penso che la risposta di Lekensteyn possa essere migliorata sostituendo gli ultimi due comandi find con chmod usando l'opzione -X (nota la X maiuscola). I due comandi find possono essere sostituiti con

chmod -R o+rX ~/Public

Ciò differenzia in modo appropriato tra file e directory, ma ha l'effetto aggiuntivo di consentire ad altri di eseguire file eseguibili.


0

Dal momento che è la privacy che ti interessa (a giudicare dai tag che sono stati applicati) è molto probabile che l'impostazione delle autorizzazioni sia insufficiente (vedi la risposta di ignis ). La risposta potrebbe essere qualcosa sulla falsariga di una home directory crittografata . Questa soluzione è progettata specificamente contro l'attacco di un altro utente di un computer. Naturalmente, non sarà in grado di impedire a un altro utente di danneggiare i tuoi file (semplicemente rimuovendolo~/.Private directory, cancellando così tutti i tuoi file), ma non saranno in grado di montare la directory e vedere i file senza la tua password.

Il modo più semplice per farlo è durante il processo di installazione, c'è una casella di controllo che indica "Crittografa la tua home directory" e devi selezionarla.

Poiché è improbabile che tu voglia reinstallarlo solo per quello (e poiché comporta ancora tutti i rischi che comporta comportarlo senza reinstallarlo), puoi fare quanto segue:

sudo apt-get install encryptfs-utils
encryptfs-migrate-home

-1

Se hai davvero bisogno di un alto livello di sicurezza: reinstalla e assicurati di scegliere l'opzione per crittografare l'intero disco. Ciò richiederà una passphrase per avviare anche la macchina. Naturalmente puoi anche crittografare la tua cartella home ancora una volta, con un certo peggioramento delle prestazioni; sebbene non evidente per l'uso normale.

Si noti che la crittografia della cartella principale disabiliterà applicazioni come Dropbox. Dropbox non è un archivio sicuro che rispetti comunque la privacy, quindi potrebbe essere un punto banale. Tuttavia, se hai bisogno di archiviazione sicura e privata nel cloud, consiglierei personalmente MEGAsync poiché solo tu avresti le chiavi per accedere ai dati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.