Perché le autorizzazioni predefinite per / media / nome utente root: root?


20

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

Ma perché i permessi per questa cartella erano root:rootin primo luogo?


[1] In modo da poter montare lì 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 determinato utente invece di concedere l'accesso a tutti gli utenti del sistema.


Il montaggio di solito comporta l'accesso alla radice. Puoi (come hai fatto) modificare le autorizzazioni. Tuttavia, ciò non può in alcun modo diventare un comportamento "predefinito" in Linux. Immagina cosa accadrà se un utente (non un amministratore) ha la capacità di montare come hai fatto tu. Questo sarà un caos totale. :)
rbaleksandar,

Risposte:


20

Nel mio caso, ecco come appaiono le cose /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 del furto / eliminazione / modifica dei 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::---

È tramite ACL in cui il mio utente è autorizzato a visualizzare il contenuto di /media/oli. Non mi è ancora permesso modificare i contenuti.

La cosa che fa il montaggio su 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, sta funzionando lì come root, quindi quando qualcosa vi accede tramite DBUS, è in grado di creare i mount-point all'interno di / home / $ USER e trasferirli al tuo utente in modo che possano modificare i contenuti.

Niente di tutto ciò cambia ciò che ho detto in origine. Sto solo spiegando come funziona in pratica. Questo è il modo in cui qualcosa sul tuo desktop è autorizzato a scrivere in un posto che è consentito solo da root, e come il tuo utente è autorizzato a leggerlo nonostante una proprietà altrimenti restrittiva.

Tutto ciò lo trasforma in un ambiente sicuro per i dati dell'utente ma che rende anche difficile intromettersi con il tessuto della montatura. Ad esempio, non possono eliminare il mount-point o rinominarlo, il che potrebbe causare problemi a meno che non abbiano accesso come 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 per impostazione predefinita aiutano a mantenere questo mount privato e proteggerlo da interferenze dell'utente. Sembra un default abbastanza sano per qualcosa che fatto senza la /media/$user/directory, avrebbe bisogno dei permessi di root.


2

Accetto l'altra risposta e commenti in aggiunta a quello

root:rootper 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 prestazioni scadenti.
2. Conflitto con udisk2: presuppone una partizione con il backup dell'etichetta . Gli Udisk lo montano su @ / media / user / backup. l'utente ha creato manualmente la suddetta directory che costringerà udisk a cambiare il punto di montaggio in qualcosa come / media / user / backup1 e quindi fuorviato da script di backup ecc.


2

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

Di solito moderno Desktop Environmentsmonterà i tuoi dispositivi sotto /media/username/devicepartitionname. Ciò significa che affinché il dispositivo sia utilizzabile devi solo possedere la devicepartitionnamecartella e qualsiasi cosa al di sotto di essa. Ciò significa che la cartella di /media/usernamepotrebbe essere ancora di proprietà di root, e ciò la renderebbe più sicura.

Anche montare qualcosa su /media/usernameè una cattiva idea, in quanto ciò DEproverà a montare una partizione in una cartella su un'altra partizione montata che può portare a molto !! FUN !! (anche probabile perdita di dati).


grazie per una risposta semplice ma non semplicistica ... Ho chiarito sopra che GnomeEncFS sta montando su /media/username/someplacenon /media/username... dici specificamente che dovrebbe essere di proprietà di root, sarebbe root:usernamemeglio che username:rootnel mio caso? o introducono entrambi lo stesso problema di sicurezza? (vedi questa domanda per il motivo per cui devo farlo comunque askubuntu.com/questions/392063/… )
david.libremone,

@ d3vid: Dipende, nel secondo caso, se non avessi modificato l'autorizzazione predefinita su cui l'utente normale non sarebbe in grado di scrivere /media/user(dato che è 750), che è un po 'meglio del primo caso. Per quanto riguarda il montaggio: storicamente la /mnte le sue sottocartelle sono considerate il punto di montaggio predefinito per qualsiasi cosa, sono /mediastate aggiunte solo in modo che le persone che vogliono semplicemente usare una scatola di Linux senza effettivamente capire come funzionano le cose non verranno confuse da tutto il strane cartelle e quant'altro /.
Wolfer,

@ d3vid: per quanto riguarda la sicurezza: è perché le cartelle a cui hai accesso in scrittura ed eseguono l'accesso possono essere utilizzate da un hacker / cracker / qualunque cosa tu voglia chiamarlo per caricare file binari che possono quindi utilizzare per ottenere l' rootaccesso a la tua scatola. (Questo si chiama escalation di privilegi.) Anche se non dovresti rendere il tuo sistema deliberatamente più insicuro, ci sono posti predefiniti che consentono la stessa cosa (e sono più oscuri e come tali rendono meno probabile la ricerca dell'attività degli hacker). Pertanto, in questo caso il "problema di sicurezza" potrebbe essere ignorato a seconda della configurazione.
Wolfer,

1
@Wolfer - Sono tornato a una versione della tua risposta che non contiene un linguaggio ritenuto offensivo. Cerchiamo di mantenere le domande e risposte il più pulite possibile e di non provocare alcun reato. Grazie.
Fossfreedom
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.