Perché i permessi di default per / media / username root: root?

19

Ho modificato le autorizzazioni su /media/username da root:root a username:root [1]. Comprendo che una posizione centrata sull'utente consente le autorizzazioni incentrate sull'utente [2].

Ma perché le autorizzazioni per questa cartella root:root in primo luogo?

[1] In modo che io possa montare cartelle crittografate con Gnome EncFS Manager. Ad esempio, ora posso montare una cartella crittografata come /media/username/personal-documents .

[2] Da Perché Ubuntu ha spostato i punti di montaggio predefiniti? :

  

La causa principale di questa modifica del comportamento predefinito in udisks2 sembra chiara: la sicurezza. È più sicuro limitare l'accesso a un file system a un particolare utente anziché concederne l'accesso a tutti gli utenti del sistema.

    
posta d3vid 17.12.2013 - 17:26

3 risposte

18

Nel mio caso, ecco come appaiono le cose in /media :

$ ls -l /media | grep $USER
drwxr-x---+  3 root root 4096 Jan 22 15:59 oli

Fondamentalmente questo significa che solo un utente root può interagire con la directory. Questo è ottimo per la sicurezza (certamente impedisce agli altri utenti di vedere, per non parlare di rubare / cancellare / modificare i dati) ma non è qui che finisce la storia.

Potresti notare il segno più alla fine della maschera di autorizzazione. Ciò significa che è in uso un ACL (Access Control List). Ciò consente autorizzazioni molto più granulari.

$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---

È attraverso ACL dove il mio utente può visualizzare il contenuto di /media/oli . Non sono ancora autorizzato a modificare i contenuti.

La cosa che fa il montaggio nei desktop moderni (sia Gnome che KDE) è udisks2 :

root      2882  0.3  0.0 195956  4048 ?        Sl   Jan16  30:35 /usr/lib/udisks/udisks-daemon
root      2887  0.0  0.0  47844   784 ?        S    Jan16   0:00 udisks-daemon: not polling any devices
root      3386  0.0  0.0 429148  6980 ?        Sl   Jan16   7:35 /usr/lib/udisks2/udisksd --no-debug

Come puoi vedere, è in esecuzione come root, quindi quando qualcosa accede a DBUS, è in grado di creare i mount point all'interno di / home / $ USER e chownli all'utente in modo che possano modificare i contenuti.

Nessuna modifica cambia ciò che ho detto in origine. Sto solo spiegando come funziona nella pratica. Questo è il modo in cui qualcosa sul tuo desktop è autorizzato a scrivere da qualche parte che è consentito solo da root e in che modo l'utente può leggerlo nonostante una proprietà altrimenti restrittiva.

Tutto ciò lo trasforma in un ambiente che è sicuro per i dati dell'utente, ma che rende anche difficile per l'utente meddle con la trama del mount. Ad esempio, non possono cancellare il mount point o rinominarlo, il che potrebbe causare problemi a meno che non abbiano accesso root.

Modifica : qualcosa che mi è appena venuto in mente è che offre anche a un amministratore un buon posto per montare le cose per un singolo utente. Le autorizzazioni di default aiutano a mantenere questa montatura privata e a proteggere questa montatura contro l'ingerenza dell'utente. Sembra un default abbastanza sano per qualcosa fatto senza la directory /media/$user/ , avrebbe bisogno di permessi di root.

    
risposta data Oli 22.01.2014 - 17:26
2

Accetto le altre risposte e i commenti in aggiunta a

root:root per evitare principalmente due situazioni.
1. Rischio per la sicurezza: uno script di hacker che esegue il dump / dev / zero su / media / user / che riempie la partizione di root e quindi non è in grado di accedere o di prestazioni inadeguate.
2. Conflitto con udisk2: presuppone una partizione con etichetta backup . Udisk montarlo @ / media / utente / backup. l'utente ha creato manualmente la suddetta directory che costringerà l'udisk a cambiare il punto di mount in qualcosa di simile a / media / user / backup1 e quindi ingannato dagli script di backup, ecc.

    
risposta data Prinz 23.01.2014 - 06:11
2

La mentalità di Linux (e * nix) in generale si basa sul principio di Least amount of necessary privileges.

Normalmente Desktop Environments di solito monterà i tuoi dispositivi sotto /media/username/devicepartitionname . Ciò significa che affinché il dispositivo sia utilizzabile è sufficiente possedere la cartella devicepartitionname e qualsiasi cosa al di sotto di essa. Ciò significa che la tua cartella di /media/username potrebbe ancora essere di proprietà di root , e ciò renderebbe più sicura.

Anche montare qualsiasi cosa su /media/username è una cattiva idea, in quanto ciò renderà il tuo DE a provare a montare una partizione in una cartella su un'altra partizione montata che può portare a molti !!FUN !! (anche probabile perdita di dati).

    
risposta data Wolfer 16.01.2014 - 19:21

Leggi altre domande sui tag