Dimensione: 10394
Commento:
|
Dimensione: 10091
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 16: | Linea 16: |
## Se un metodo si applica solo ad una versione o un DE, basta specificarlo fra parentesi- | == Aspetti sulla sicurezza == È bene tener presente che i metodi descritti di seguito, seppur comunemente usati, presentano implicazioni relative alla sicurezza.<<BR>> Infatti, aprendo come amministratore applicazioni con GUI, si manda in esecuzione una 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. |
Linea 24: | Linea 27: |
Occorre però specificare che è consigliabile '''evitare''', quando possibile, l'utilizzo diretto del semplice comando '''sudo'''. In questa maniera (ossia senza utilizzare le cosiddette variabili di ambiente in modo corretto), file creati con tale metodo possono diventare proprietà dell'utente '''root'''.<<BR>> Per evitare questo inconveniente, è sufficiente utilizzare il comando '''sudo''' con i parametri '''-H''' o '''-i'''come nel seguente esempio: {{{ |
Occorre però specificare che è consigliabile '''evitare''', quando possibile, l'utilizzo diretto del semplice comando '''sudo'''.<<BR>> 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.<<BR>> Per evitare questo inconveniente, è sufficiente utilizzare il comando '''sudo''' con i parametri '''-H''' o '''-i''' come nel seguente esempio: {{{ |
Linea 40: | Linea 44: |
= gksudo, kdesudo, lxqt-sudo (Ubuntu 16.04 e precedenti) = | = gksudo, kdesudo (solo Ubuntu 16.04 e precedenti) e lxqt-sudo = * '''gksudo''' (o '''gksu'''): comando comunemente utilizzato su sistemi con ambienti grafici basati su librerie ''GTK'' ('''GNOME''', '''Xfce''', ecc.). Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://gksu|gksu]].<<BR>> Di seguito un esempio di utilizzo con l'editor di testo '''Gedit''' :{{{ gksudo gedit /etc/apt/sources.list }}} * '''kdesudo''': comando utilizzato su sistemi che utilizzato l'ambiente grafico '''KDE'''. Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://kdesudo|kdesudo]].<<BR>> Di seguito un esempio di utilizzo con l'l'editor di testo '''Kate''':{{{ kdesudo kate /etc/apt/sources.list }}} * '''lxqt-sudo''': comando utilizzato su sistemi che utilizzato l'ambiente grafico '''LXQt'''. Per utilizzarlo assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://lxqt-sudo|lxqt-sudo]].<<BR>> Di seguito un esempio di utilizzo con editor di testo '''Featherpad''':{{{ lxqt-sudo featherpad /etc/apt/sources.list }}} = sudoedit = Questo metodo risulta utile quando si devono modificare file con tramite editor di testo.<<BR>> 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:{{{ 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`»). 0. Salvare e chiudere il file. Per editare un file con i privilegi di amministrazione sarà sufficiente digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{ sudoedit /percorso/file }}} |
Linea 43: | Linea 76: |
'''gksudo''' e '''kdesudo''' sono deprecati e non più disponibili da Ubuntu 18.04. }}} * '''gksudo''' (o '''gksu'''): comando comunemente utilizzato su sistemi con ambienti grafici basati su librerie ''GTK'' ('''GNOME''', '''Xfce''', ecc.). Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://gksu|gksu]].<<BR>>Esempio: aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con [[Ufficio/EditorDiTesto|l'editor di testo]] '''Gedit''' di '''GNOME''' il file `/etc/apt/sources.list`:{{{ gksudo gedit /etc/apt/sources.list }}} * '''kdesudo''': comando utilizzato su sistemi che utilizzato l'ambiente grafico '''KDE'''. Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://kdesudo|kdesudo]].<<BR>>Esempio: aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con [[Ufficio/EditorDiTesto|l'editor di testo]] '''Kate''' di '''KDE''' il file `/etc/apt/sources.list`:{{{ kdesudo kate /etc/apt/sources.list }}} * '''lxqt-sudo''': comando utilizzato su sistemi che utilizzato l'ambiente grafico '''!LxQt'''. Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://lxqt-sudo|lxqt-sudo]].<<BR>>Esempio: aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con [[Ufficio/EditorDiTesto|l'editor di testo]] '''Featherpad''' di '''!LxQt''' il file `/etc/apt/sources.list`:{{{ lxqt-sudo featherpad /etc/apt/sources.list |
Questo metodo non si applica agli editor '''Kate''' e '''KWrite''' di KDE, in quanto richiedono l'autenticazione nel momento del salvataggio. |
Linea 58: | Linea 81: |
È un metodo usabile solo su sistemi con ambienti grafici basati su librerie ''GTK'' ('''GNOME''', '''Xfce''', ecc.). È necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://gvfs|gvfs]] se non presente. | È un metodo utilizzabile con ambienti grafici basati su librerie GTK ('''GNOME''', '''MATE''', '''Xfce''', ecc.).<<BR>> Per utilizzarlo è necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://gvfs|gvfs]] se non presente. |
Linea 60: | Linea 84: |
Esempio di utilizzo: Aprire con [[Ufficio/EditorDiTesto|l'editor di testo]] '''gedit''' il file `/etc/default/apport`.{{{ | Di seguito un esempio di utilizzo con l'editor di testo '''gedit''':{{{ |
Linea 65: | Linea 89: |
##Nota per editore: paragrafo da aggiustare. | |
Linea 67: | Linea 90: |
È un programma alternativo per '''sudo'''.<<BR>> | È un programma alternativo per '''sudo''' che permette di eseguire un programma come un altro utente.<<BR>> |
Linea 70: | Linea 93: |
Esempi di utilizzo: | Di seguito un esempio di utilizzo con l'editor di testo '''Mousepad''' :{{{ pkexec mousepad /etc/apt/sources.list }}} |
Linea 72: | Linea 97: |
* Da terminale: [[AmministrazioneSistema/ComandiBase#cp|copiare]] il file `/etc/apt/sources.list` in `/etc/apt/sources.list~`:{{{ pkexec cp /etc/apt/sources.list /etc/apt/sources.list~ |
{{{#!wiki note Alcuni programmi per essere avviati in modalità grafica necessitano della creazione di un apposito file in formato `.xlm` all'interno della directory `/usr/share/polkit-1/actions/` (ad esempio `/usr/share/polkit-1/actions/com.ubuntu.pkexec.gdebi-gtk.policy`).<<BR>> Per maggiori informazioni informazioni consultare il manuale di '''pkexec''' attraverso il comando '''man'''.<<BR>> Per la creazione di avviatori si rimanda inoltre alla relativa [[AmbienteGrafico/IconeDiAvvio|guida]].<<BR>> |
Linea 75: | Linea 102: |
* Con applicazioni grafiche: 0. Creare con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/usr/share/polkit-1/actions/com.ubuntu.pkexec.«programma».policy`. 0. [[AmministrazioneSistema/ComandiBase#cp|Copiare]] in esso il seguente script '''XML''':{{{ <?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.«programma»"> <message>Authentication is required to run the «programma»</message> <icon_name>«icona»</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">«comando»</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> </policyconfig> }}} 0. Salvare e chiudere il file. 0. Aprire con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/usr/share/applications/«nome comando».desktop` ## 0. Sostituire nella riga `Exec=«eseguibile» «comando»`, il '''eseguibile''' con '''pkexec'''. 0. Modificare la riga `Exec="programma grafico root" «comando»` in `Exec=pkexec «comando»`. 0. Salvare e chiudere il file. 0. Esempio: Avviare con i [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] l'editor '''Medit''':{{{ pkexec medit }}} Sostituire «programma» col nome del programma grafico d'avviare come '''root''', comando col percorso fino al comando, per esempio `/usr/bin/medit`, «icona» col nome dell'icona = sudoedit = 0. Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] il file `~/.bashrc`. 0. Aggiungere in fondo dopo una linea vuota la stringa:{{{ SUDO_EDITOR=nome-editor-di-testo }}}Sostituire '''nome-editor-di-testo''' col nome dell'editor che si vuole usare come '''root''', esclusi '''Kate''' e '''Krite'''. 0. Salvare e chiudere il file. |
|
Linea 119: | Linea 105: |
Metodo usato normalmente nei menù, usabile anche nel terminale. 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://menu|menu]]. 0. Esempio:{{{ su-to-root -X -c 'featherpad /etc/apt/sources.list' |
È un metodo usato normalmente nei menu ed è usabile anche nel terminale.<<BR>> Prevede l'[[AmministrazioneSistema/InstallareProgrammi|installazione]] del pacchetto [[apt://menu|menu]], se non presente. Di seguito un esempio del suo utilizzo:{{{ su-to-root -X -c 'mousepad /etc/apt/sources.list' |
Linea 169: | Linea 155: |
Linea 172: | Linea 157: |
Se è stata avviata un'applicazione grafica da terminale utilizzando il semplice comando '''sudo''', nella propria '''Home''' uno o più file risulteranno proprietà di '''root'''. * Per visualizzare tali file digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{ |
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 seguire i seguenti passaggi: 0. Verificare la presenza di tali file, digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando, che elencherà eventuali file non appartenenti al'utente in uso:{{{ |
Linea 176: | Linea 164: |
* Per ripristinare la corretta configurazione dei permessi nella propria '''Home''', digitare il comando:{{{ | 0. Per ripristinare la corretta configurazione dei permessi nella propria '''Home''', digitare il comando:{{{ |
Linea 178: | Linea 166: |
}}}Questo farà in modo che il proprio utente torni il legittimo proprietario dei file contenuti nella propria directory. | }}} Questo comando farà in modo che il proprio utente torni il legittimo proprietario dei file contenuti nella propria directory. |
Linea 181: | Linea 170: |
* [[inserire fonti/guide ecc.]] | * [[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) |
Linea 185: | Linea 176: |
CategoryHomepage |
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 tener 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 una 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»
Il metodo più facile e immediato per avviare un'applicazione grafica con i privilegi d'amministrazione è digitare il relativo comando nel terminale preceduto da sudo, come nel seguente esempio:
sudo gedit
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.
gksudo, kdesudo (solo Ubuntu 16.04 e precedenti) e lxqt-sudo
gksudo (o gksu): comando comunemente utilizzato su sistemi con ambienti grafici 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: comando utilizzato su sistemi che utilizzato l'ambiente grafico KDE. Per utilizzarlo assicurarsi di aver installato il pacchetto kdesudo.
Di seguito un esempio di utilizzo con l'l'editor di testo Kate:kdesudo kate /etc/apt/sources.list
lxqt-sudo: comando utilizzato su sistemi che utilizzato l'ambiente grafico LXQt. Per utilizzarlo assicurarsi di aver installato il pacchetto lxqt-sudo.
Di seguito un esempio di utilizzo con editor di testo Featherpad:lxqt-sudo featherpad /etc/apt/sources.list
sudoedit
Questo metodo risulta utile quando si devono modificare file con tramite editor di testo.
Per utilizzare questo metodo occorre modificare, per l'utente in uso, le impostazioni della shell Bash (predefinita in Ubuntu).
Aprire con un editor di testo il file ~/.bashrc.
Aggiungere in fondo, dopo una linea vuota, la stringa:
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»).
- Salvare e chiudere il file.
Per editare un file con i privilegi di amministrazione sarà sufficiente digitare nel terminale:
sudoedit /percorso/file
Questo metodo non si applica agli editor Kate e KWrite di KDE, in quanto richiedono l'autenticazione nel momento del salvataggio.
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
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 già installato.
Di seguito un esempio di utilizzo con l'editor di testo Mousepad :
pkexec mousepad /etc/apt/sources.list
Alcuni programmi per essere avviati in modalità grafica necessitano della creazione di un apposito file in formato .xlm all'interno della directory /usr/share/polkit-1/actions/ (ad esempio /usr/share/polkit-1/actions/com.ubuntu.pkexec.gdebi-gtk.policy).
Per maggiori informazioni informazioni consultare il manuale di pkexec attraverso il comando man.
Per la creazione di avviatori si rimanda inoltre alla relativa guida.
su-to-root
È un metodo usato normalmente nei menu ed è usabile anche nel terminale.
Prevede l'installazione del pacchetto menu, se non presente.
Di seguito un esempio del suo utilizzo:
su-to-root -X -c 'mousepad /etc/apt/sources.list'
Applicazioni per KDE
Dolphin: per avviare il file manager Dolphin come superutente:
Installare il pacchetto dolphin4.
Digitare nel terminale il comando:
sudo -H dolphin4
Il file manager Dolphin4 è la vecchia versione usata in KDE4, per questo motivo si presenta con una grafica parzialmente differente dal resto del sistema.
Kate e Kwrite: per gli editor di testo Kate e Kwrite non sono richiesti preventivamente i permessi di superutente. Pertanto viene richiesta la password solo quando viene modificato e salvato un file per il quale sono richiesti 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 ovviare a questo problema è sufficiente digitare il comando da terminale:
xhost +SI:localuser:root
Per fare in modo che tale comando sia lanciato automaticamente all'avvio del sistema:
Avviare l'applicazione Applicazioni d'avvio.
Fare clic su Aggiungi e nella nuova finestra inserire alla voce Comando:
xhost +SI:localuser:root
Fare clic su Salva.
- Terminare la sessione e rieffettuare il login.
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 seguire i seguenti passaggi:
Verificare la presenza di tali file, digitando nel terminale il seguente comando, che elencherà eventuali file non appartenenti al'utente in uso:
find ~/ -not -user $USER
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
Privilegi di amministrazione (guida su Debianizzati)
Eseguire applicazioni con GUI come root (Wiki Arch internazionale)
Sicurezza (pagina su Bugzilla)