Come eseguire le applicazioni come root?


13

Sto riscontrando uno strano problema con Kate e Kwrite. Quando faccio clic su Apri file , si blocca con un errore di segmentazione.

Sono un principiante completo di Linux e penso che il problema sia che non sto eseguendo l'applicazione come root.

Come eseguo le applicazioni come root in Ubuntu? È una cattiva pratica farlo? Qual è lo scopo di tutto il root, dove anche se dobbiamo usare il root così frequentemente, non viene utilizzato come predefinito?


Puoi fare cose molto dannose quando usi root per aprire un editor, quindi per favore non andare in quel modo;) 2 altre soluzioni che non richiedono root: prova a correggere segmentation faulto usa un altro editor (gedit è l'editor di gnome). kate en kwrite sono programmi KDE (quindi non Gnome).
Rinzwind,

1
ciò che le cose dannose possono essere fatte w testo editor.sounds pazzo
l --''''''--------- '' '' '' '' '' ''

1
@ АртёмЦарионов Per prima cosa, come root puoi modificare i file che il tuo computer usa per avviare il sistema operativo o caricare il tuo ambiente grafico, rompendo efficacemente il tuo computer.
Amanda,

Risposte:


15

È abbastanza semplice eseguire un programma come root.

Per un programma console utilizzare

sudo <program name>

Se si tratta di un'applicazione GUI, utilizzare

gksudo <program name>

13

I sistemi operativi simili a UNIX (incluso Linux) usano un concetto chiamato separazione dei privilegi per garantire che il sistema rimanga sicuro. UNIX è stato progettato da zero come un sistema multiutente, ovvero è stato progettato in modo tale che molte persone possano utilizzare un computer che esegue UNIX contemporaneamente. Poiché la maggior parte degli utenti non deve essere in grado di modificare il sistema principale, solo l'amministratore di sistema dovrebbe avere quel privilegio. Quell'utente privilegiato viene tradizionalmente chiamato root . (Il root è molto simile all'amministratore in Windows.)

Questo ha senso su più livelli. Comunemente, un server Web o un altro processo che espone una porta ad altri computer (probabilmente dannosi) verrà eseguito come proprio utente (Apache viene eseguito come utente nobody), in modo che anche se il programma del server Web viene violato, l'attaccante non può eliminare l'intera macchina abbastanza facilmente. Ha senso anche per le macchine per lo più monoutente come i desktop: se altri membri della tua famiglia, ad esempio, riescono in qualche modo a funzionare rm -rf /( NON eseguirlo ), non avranno l'autorizzazione per eliminare tutti i file sul sistema , come lo farebbero se non esistesse una separazione dei privilegi.

Esistono diversi comandi che puoi utilizzare per elevare i tuoi privilegi. Il sudocomando esiste per fornire temporaneamente privilegi a livello di root quando sono necessari per amministrare il sistema. Puoi anche usare i comandi gksudoo su. Quest'ultimo può essere utilizzato solo se conosci la password di root ed è una buona opzione se il tuo account non dispone dell'autorizzazione per l'usosudo .

L'utente root può fare qualsiasi cosa su un sistema, quasi senza eccezioni. Quindi, anche se richiedi qualcosa per caso, verrà eseguito con un avviso minimo o nullo, anche se fa male alla salute del tuo sistema. Questo è il motivo per cui è buona norma svolgere la maggior parte delle attività come un normale utente e utilizzare root solo quando necessario, ad esempio durante l'installazione di un programma.

Non è necessario utilizzare root per eliminare un errore di segmentazione. Se root è l'unica cosa che corregge un segfault, allora il programma ha un bug. I programmi non dovrebbero fallire in quel modo solo perché non hanno root.


Ho riscontrato questo tipo di errore e normalmente ha avuto a che fare con un'autorizzazione per i file. Usare rootè come prendere una mazza per rompere una nocciolina. Meglio identificare il file e decidere se modificare la proprietà o l'autorizzazione in base alle esigenze. Ad esempio, ho un admingruppo per i file che altri non dovrebbero aggiornare o accedere.
sarà il

5

Oltre alla risposta precedente, che dice sudo e gksudo, sì, è sicuramente una cattiva pratica eseguire un programma come root a meno che non sia amministrativo.

Prova a scoprire perché i programmi si stanno arrestando in modo anomalo. Si prega di chiedere aiuto agli altri se è necessario.


2

Puoi anche andare su /usr/share/applicationsUbuntu e modificare il file di avvio dell'applicazione che stai cercando di eseguire.
Come ho modificato il file github atom, normalmente utilizzo un carattere jolly per trovare i file in questo modo

sudo nano atom*

Questo aprirà il atom.desktopfile, ora trova il comando Exec e anteponi gksudo.Per es.,

Prima

Exec=/usr/share/atom/atom %U  

Dopo

Exec=gksudo -k -u root /usr/share/atom/atom %U

Ora, ogni volta che l'applicazione viene avviata, verrà richiesta la password di root.


bene non riesco a vedere tale file nel server Tomcat. Devo eseguire l'app GUI in questo modo: "sudo ./manager-linux-x64.run" ogni giorno, che so che non è una buona cosa da fare. Ma pkexec non funziona su questa app.
Prabesh bhattarai il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.