Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

In questa guida sono illustrati diversi metodi per eseguire applicazioni con interfaccia grafica con i privilegi di amministrazione.

gksudo e kdesudo sono deprecati e non più disponibili da Ubuntu 18.04.

Aspetti sulla sicurezza

È bene tenere presente che i metodi descritti di seguito, seppur comunemente usati, presentano implicazioni relative alla sicurezza.
Infatti, aprendo come amministratore applicazioni con GUI, si manda in esecuzione un'elevata quantità di codice che non sempre è stato scritto e/o testato per funzionare con privilegi elevati. Questo, a sua volta, potrebbe eseguire altro codice tramite ICP, dando luogo a potenziali falle di sicurezza.

sudo con opzioni «-H» e «-i»

Sebbene il metodo più immediato per avviare un'applicazione grafica con i privilegi di amministrazione sia quello di digitare il relativo comando nel terminale preceduto da sudo, come nel seguente esempio:

sudo [nome_programma]

occorre però specificare che è consigliabile evitare, quando possibile, l'utilizzo diretto del semplice comando sudo.

Infatti in questa maniera (cioè senza utilizzare le cosiddette variabili di ambiente), eventuali file creati o aperti con tale metodo possono diventare proprietà dell'utente root, anche se presenti nella Home dell'utente.
Per evitare questo inconveniente, è sufficiente utilizzare il comando sudo con i parametri -H o -i come nel seguente esempio:

sudo -H mousepad /etc/apt/sources.list

o in alternativa:

sudo -i mousepad /etc/apt/sources.list

Si raccomanda di non chiudere l'emulatore di terminale prima di aver chiuso correttamente il programma lanciato.

Qualora si fossero modificati inavvertitamente i permessi di file aperti con sudo, consultare il seguente paragrafo per ripristinare la corretta configurazione dei permessi nella propria Home.

Comandi comunemente utilizzati

Questi metodi si applicano solamente agli editor di testo basati su librerie GTK.

In quanto richiedono l'autenticazione nel momento del salvataggio, per approfondire gli editor basati sulle librerie Qt Featherpad consultare il paragrafo Editor Featherpad, o per gli editor di testo Kate e KWrite di KDE, approfondire il paragrafo Applicazioni per KDE.

gksudo

  • gksudo (o gksu): basati su librerie GTK (GNOME, Xfce, ecc.). Per utilizzarlo assicurarsi di aver installato il pacchetto gksu.
    Di seguito un esempio di utilizzo con l'editor di testo Gedit:

    gksudo gedit /etc/apt/sources.list

kdesudo (Ubuntu 16.04 e precedenti)

kdesudo è basato sulla versione 4 dell'ambiente grafico KDE. Per utilizzarlo assicurarsi di aver installato il pacchetto kdesudo.
Di seguito un esempio di utilizzo con l'editor di testo Kate:

kdesudo kate /etc/apt/sources.list

lxqt-sudo (Ubuntu 16.04 e successive)

lxqt-sudo è basato su sistemi che utilizzano l'ambiente grafico LXQt. Per utilizzarlo assicurarsi di aver installato il pacchetto lxqt-sudo.

sudoedit

Questo metodo risulta utile quando si devono modificare file tramite editor di testo.
Per utilizzare questo metodo occorre modificare, per l'utente in uso, le impostazioni della shell Bash (predefinita in Ubuntu).

  1. Aprire con un editor di testo il file ~/.bashrc.

  2. Aggiungere in fondo, dopo una linea vuota, la stringa:

    export SUDO_EDITOR=nome-editor-di-testo

    sostituendo «nome-editor-di-testo» con il nome dell'editor che si vuole usare come root (ad esempio «gedit», «pluma», ecc.).

  3. Salvare e chiudere il file.
  4. Per rendere effettive le modifiche chiudere e riavviare il terminale, oppure digitare il comando:

    source ~/.bashrc

Per editare un file con i privilegi di amministrazione sarà sufficiente digitare nel terminale:

sudoedit /percorso/file

gvfs

È un metodo utilizzabile con ambienti grafici basati su librerie GTK (GNOME, MATE, Xfce, ecc.).
Per utilizzarlo è necessario installare il pacchetto gvfs, se non presente.

Di seguito un esempio di utilizzo con l'editor di testo gedit:

gedit admin:///etc/default/apport

Comandi alternativi

su-to-root

È un metodo usato normalmente nei menù ed è usabile anche nel terminale. Per utilizzarlo è necessario installare il pacchetto menu-l10n, se non presente.

Di seguito un esempio del suo utilizzo:

su-to-root -X -c 'mousepad /etc/apt/sources.list'

pkexec

È un programma alternativo per sudo che permette di eseguire un programma come un altro utente.
Per utilizzarlo è necessario installare il pacchetto policykit-1, se non presente.

Di seguito un esempio di utilizzo con l'editor di testo Mousepad :

pkexec mousepad /etc/apt/sources.list


  • della creazione di un apposito file in formato XML all'interno della directory /usr/share/polkit-1/actions/.
    A titolo di esempio viene mostrato il contenuto di un generico file /usr/share/polkit-1/actions/com.ubuntu.pkexec.NOME_PROGRAMMA-gtk.policy, dove dovranno essere sostituite le voci «NOME_PROGRAMMA»:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE policyconfig PUBLIC
     "--//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
    
    <policyconfig>
    
            <action id="com.ubuntu.pkexec.NOME_PROGRAMMA">
                    <message>Authentication is required to run the NOME_PROGRAMMA</message>
                    <icon_name>«applicazione»</icon_name>
                    <defaults>
                            <allow_any>no</allow_any>
                            <allow_inactive>no</allow_inactive>
                            <allow_active>auth_admin</allow_active>
                    </defaults>
                    <annotate key="org.freedesktop.policykit.exec.path">NOME_PROGRAMMA</annotate>
                    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
            </action>
    
    </policyconfig>

    Per la creazione di avviatori si rimanda inoltre alla relativa guida.

Applicazioni per KDE

  • Dolphin: nelle ultime versioni è interdetto all'uso come superutente.

    • Nel rilascio 20.04, per aggirare l'interdizione, si può ricorrere all'uso del programma pkexec tramite il comando:

      pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dolphin

      Questa procedura potrebbe non funzionare se si personalizzano le impostazioni di base.

    • Nel rilascio 18.04, per aggirare l'interdizione, installare il pacchetto dolphin4 (precedente versione usata in KDE4) e avviarlo digitando nel terminale il comando:

      sudo -H dolphin4


In alternativa è possibile installare il file manager a doppio pannello Krusader, tramite il pacchetto krusader, e avviarlo dal menù, con o senza i privilegi di amministrazione.

  • Kate e Kwrite: contrariamente agli altri editor di testo più comuni, richiedono la password al solo momento del salvataggio di file, per i quali sono necessari i privilegi di amministrazione.

  • Visore e installatore di caratteri: richiede la password solo al momento dell'eventuale installazione del corredo dei caratteri, per la quale sono necessari i privilegi di amministrazione.

Editor Featherpad

Anch'esso, contrariamente agli altri editor di testo più comuni, richiede la password al solo momento del salvataggio di file, per i quali sono necessari i privilegi di amministrazione.

Risoluzione problemi

Applicazioni grafiche da root su Wayland

Con la versione 17.10 di Ubuntu è stata introdotta la sessione grafica con Wayland accanto a quella con Xorg (quest'ultimo rimane comunque predefinito in Ubuntu 18.04 e successive).
Di default in una sessione con Wayland non è possibile lanciare come root programmi con interfaccia grafica (Synaptic, GParted, ecc.).

Il problema non si presenta se al login viene selezionata la sessione con Xorg. Per utilizzarla, al login fare clic sull'icona a forma di ingranaggio.

Per risolvere digitare nel terminale uno dei due seguenti comandi:

  • Consentire singole applicazioni (consigliato): nel seguente esempio si prende il caso di Synaptic:

    xhost +si:localuser:root && synaptic-pkexec ; xhost -si:localuser:root
  • Consentire tutte le applicazioni:

    xhost +SI:localuser:root

Per eseguire il comando automaticamente all'avvio del sistema consultare questa guida.

Ripristino permessi Home utente

Se è stata avviata un'applicazione grafica da terminale utilizzando il semplice comando sudo, nella propria Home uno o più file potrebbero risultare proprietà di root.

Per risolvere, è necessario ripristinare i permessi dei file, seguire i seguenti passaggi:

  1. Verificare la presenza di tali file non appartenenti all'utente in uso, digitare nel terminale il seguente comando:

    find ~/ -not -user $USER
  2. Per ripristinare la corretta configurazione dei permessi nella propria Home, digitare il comando:

    sudo chown -R $USER ~
    Questo comando farà in modo che il proprio utente torni il legittimo proprietario dei file contenuti nella propria directory.

Ulteriori risorse


CategorySicurezza CategoryAmministrazione