GNU/Linux >> Linux Esercitazione >  >> Linux

Come può un file manager montare un'unità senza root?

Gli utenti che operano alla console di una workstation grafica hanno notato che diversi programmi possono essere eseguiti senza apparentemente richiedere l'autenticazione di root né una password come il riavvio. Questo processo implica l'uso intelligente del programma SUID /usr/sbin/userhelper applicato in un contesto più ampio rispetto a quello originariamente progettato.

L'utente grafico esegue un programma intermedio con alias /usr/bin/consolehelper che autorizza azioni basate su una specifica configurazione PAM (Programmable Authentication Modules) e quindi invia il comando a un programma SUID per eseguire il programma utente con privilegi. Se l'utente non dispone dell'autorizzazione appropriata, il programma richiesto viene eseguito nell'ambiente Linux dell'utente.

Come attualmente distribuito, il file di configurazione PAM necessario per il riavvio contiene i controlli per l'utente che ha effettuato l'accesso alla console o che è attualmente in esecuzione nell'ambiente root per inibire le richieste di password.


Utilizza udisk. (Tuttavia, FUSE viene utilizzato nel caso di filesystem di rete). Le interfacce della riga di comando per gli udisk sono disponibili per la tua sperimentazione. Nelle versioni recenti viene fornito con l'interfaccia a riga di comando udisksctl .

udisksd viene eseguito come root e accetta le richieste dell'utente utilizzando D-Bus.

udisksd utilizza PolicyKit PolKit per decidere quali richieste sono consentite. Alcuni potrebbero richiedere privilegi extra, ad es. formattazione delle unità interne. Ciò può comportare un ulteriore passaggio di autenticazione, simile al prompt UAC di Windows o sudo nella riga di comando. Non so esattamente come sia coordinata l'autenticazione extra.

Le richieste su D-Bus vengono attualmente effettuate utilizzando i socket Unix utilizzando SCM_CREDENTIALS, che identifica il processo che effettua la richiesta.

Uno dei fattori utilizzati nelle decisioni è se l'utente ha effettuato l'accesso localmente o tramite la rete (ad es. ssh ). Credo che questa informazione sia fornita da systemd-logind (in cospirazione con pam-systemd ).


Linux
  1. Come posso avviare un programma come root usando il window manager?

  2. Come posso installare un RPM senza essere root?

  3. Come posso scrivere file su una USB senza essere root?

  4. Come posso trasformare un file in un subuid senza sudo

  5. Come funzionano i permessi sui file per l'utente root?

In che modo File Manager monta un'unità esterna senza Sudo?

Come montare Google Drive localmente come file system virtuale in Linux

Come aprire il file manager di Ubuntu come utente root

In che modo l'utente può montare un contenitore di file crittografato in Veracrypt?

Come limitare l'utente root in CentOS

Come montare e visualizzare il file ISO come utente root e normale in Linux