## 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