## page was renamed from andreas-xavier/ProvaPrivilegiDiAmministrazioneSudoApplicazioniGrafiche
## docs intrepid
#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
In questa guida sono illustrati diversi metodi per eseguire applicazioni con interfaccia grafica con i '''privilegi di amministrazione'''.
{{{#!wiki note
'''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 [[https://it.wikipedia.org/wiki/Interfaccia_grafica|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 [[https://it.wikipedia.org/wiki/Comunicazione_tra_processi|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 [[AmministrazioneSistema/Terminale|terminale]] preceduto da '''[[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|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
}}}
{{{#!wiki important
Si raccomanda di non chiudere l'emulatore di [[AmministrazioneSistema/Terminale|terminale]] prima di aver chiuso correttamente il programma lanciato.
}}}
{{{#!wiki tip
Qualora si fossero modificati inavvertitamente i permessi di file aperti con '''sudo''', consultare il [[#ripristino_permessi|seguente paragrafo]] per ripristinare la corretta configurazione dei permessi nella propria '''Home'''.
}}}
= Comandi comunemente utilizzati =
{{{#!wiki note
Questi metodi si applicano solamente agli [[Ufficio/EditorDiTesto|editor di testo]] basati su librerie GTK.
}}}
{{{#!wiki note
In quanto richiedono l'autenticazione nel momento del salvataggio, per approfondire gli editor basati sulle '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|librerie Qt]]''' '''''Featherpad''''' consultare il paragrafo [[#qt-toolkit|Editor Featherpad]], o per gli editor di testo '''''Kate''''' e '''''KWrite''''' di '''[[AmbienteGrafico/Kde|KDE]]''', approfondire il paragrafo [[#kde|Applicazioni per KDE]].
}}}
== gksudo ==
* '''gksudo''' (o '''gksu'''): basati su librerie ''GTK'' ('''[[AmbienteGrafico/Gnome|GNOME]]''', '''[[AmbienteGrafico/Xfce|Xfce]]''', ecc.). Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://gksu|gksu]].<
>
Di seguito un esempio di utilizzo con l'[[Ufficio/EditorDitesto|editor di testo]] '''Gedit''':{{{
gksudo gedit /etc/apt/sources.list
}}}
== kdesudo (Ubuntu 16.04 e precedenti) ==
'''kdesudo''' è basato sulla versione '''4''' dell'ambiente grafico '''[[AmbienteGrafico/Kde|KDE]]'''. Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://kdesudo|kdesudo]].<
>
Di seguito un esempio di utilizzo con l'[[Ufficio/EditorDiTesto|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 '''[[AmbienteGrafico/Lxqt|LXQt]]'''. Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://lxqt-sudo|lxqt-sudo]].
== sudoedit ==
Questo metodo risulta utile quando si devono modificare file tramite [[Ufficio/EditorDiTesto|editor di testo]].<
>
Per utilizzare questo metodo occorre modificare, per l'utente in uso, le impostazioni della [[Programmazione/CambiareShell#Concetti_generali|shell]] '''Bash''' (predefinita in Ubuntu).
0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.bashrc`.
0. 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.).
0. Salvare e chiudere il file.
0. Per rendere effettive le modifiche chiudere e riavviare il [[AmministrazioneSistema/Terminale|terminale]], oppure digitare il comando:{{{
source ~/.bashrc
}}}
Per editare un file con i privilegi di amministrazione sarà sufficiente digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
sudoedit /percorso/file
}}}
== gvfs ==
È un metodo utilizzabile con ambienti grafici basati su librerie GTK ('''GNOME''', '''MATE''', '''Xfce''', ecc.).<
>
Per utilizzarlo è necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://gvfs|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 [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://menu-l10n|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 [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://policykit-1|policykit-1]], se non presente.
Di seguito un esempio di utilizzo con l'editor di testo '''Mousepad''' :{{{
pkexec mousepad /etc/apt/sources.list
}}}
<>
<
>
## Occorre sostituire l'editor nell'esempio, featherpad non ne necessita.
##Alcuni programmi per essere avviati in modalità grafica potrebbero necessitare:
## * dell'avvio senza polkit, come nel seguente esempio, relativo all'editor di testi featherpad:{{{
##pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY featherpad /etc/fstab
##}}}
* 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`»:{{{
Authentication is required to run the NOME_PROGRAMMA
«applicazione»
no
no
auth_admin
NOME_PROGRAMMA
true
}}}
Per la creazione di avviatori si rimanda inoltre alla relativa [[AmbienteGrafico/IconeDiAvvio|guida]].<
>
<>
= Applicazioni per KDE =
<>
* '''[[AmbienteGrafico/FileManager#Kubuntu|Dolphin]]''': nelle ultime versioni è interdetto all'uso come superutente.
* Nel rilascio '''20.04''', per aggirare l'interdizione, si può ricorrere all'uso del programma [[#polkit|pkexec]] tramite il comando:{{{
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dolphin
}}}{{{#!wiki note
Questa procedura potrebbe non funzionare se si personalizzano le impostazioni di base.
}}}
* Nel rilascio '''18.04''', per aggirare l'interdizione, [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://dolphin4|dolphin4]] (precedente versione usata in '''KDE4''') e avviarlo digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo -H dolphin4
}}}
<
>In alternativa è possibile [[AmministrazioneSistema/InstallareProgrammi|installare]] il file manager a doppio pannello '''[[AmbienteGrafico/FileManager#Krusader|Krusader]]''', tramite il pacchetto [[apt://krusader | krusader]], e avviarlo dal [[AmbienteGrafico/AvviareProgrammi#KDE|menù]], con o senza i privilegi di amministrazione.
* '''Kate e Kwrite''': contrariamente agli altri [[Ufficio/EditorDiTesto|editor di testo]] più comuni, richiedono la password al solo momento del salvataggio di file, per i quali sono necessari i privilegi di amministrazione.
* '''[[AmbienteGrafico/Kde/CambiareTema#Installare_i_caratteri_da_fonti_terze|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 [[Ufficio/EditorDiTesto|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 ==
## MESSAGGIO DA INSERIRE SULLE PAGINE INTERESSATE:
##
## {{{#!wiki note important
## Utilizzando la sessione grafica con Wayland (introdotta in Ubuntu 17.10) il programma non si avvierà. Per arginare il problema consultare la [[AmministrazioneSistema/Sudo#xhost|seguente procedura]] per l'esecuzione di applicazioni grafiche da root.
## }}}
Con la versione '''17.10''' di Ubuntu è stata introdotta la sessione grafica con [[https://it.wikipedia.org/wiki/Wayland_(protocollo)|Wayland]] accanto a quella con [[Hardware/Video/Xorg|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.).
{{{#!wiki tip
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 [[AmministrazioneSistema/Terminale|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 [[AmministrazioneSistema/AvvioAutomatico#GNOME|guida]].
<>
== Ripristino permessi Home utente ==
Se è stata avviata un'applicazione grafica da [[AmministrazioneSistema/Terminale|terminale]] utilizzando il semplice comando '''sudo''', nella propria '''Home''' uno o più file potrebbero risultare proprietà di '''root'''.
Per risolvere, è necessario ripristinare i [[AmministrazioneSistema/PermessiFile#Modificare_ricorsivamente_i_permessi_dei_file|permessi dei file]], seguire i seguenti passaggi:
0. Verificare la presenza di tali file non appartenenti all'utente in uso, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
find ~/ -not -user $USER
}}}
0. 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 =
* [[http://guide.debianizzati.org/index.php/Privilegi_di_amministrazione|Privilegi di amministrazione]] (guida su Debianizzati)
* [[https://wiki.archlinux.org/index.php/Running_GUI_applications_as_root|Eseguire applicazioni con GUI come root]] (Wiki Arch internazionale)
* [[https://bugzilla.gnome.org//show_bug.cgi?id=772875#c5|Sicurezza]] (pagina su Bugzilla)
----
CategorySicurezza CategoryAmministrazione