¿Cómo ejecutar aplicaciones como root?

13

Tengo un problema extraño con Kate y Kwrite. Cuando hago clic en Abrir archivo , se bloquea con un error de segmentación.

Soy un novato en Linux, y creo que el problema es que no estoy ejecutando la aplicación como root.

¿Cómo ejecuto aplicaciones como root en Ubuntu? ¿Es una mala práctica hacer esto? ¿Cuál es el propósito de toda la raíz, donde aunque necesitamos usar la raíz con tanta frecuencia, no se utiliza por defecto?

l --''''''--------- '' '' '' '' '' ''
fuente
Puede hacer algunas cosas muy perjudiciales cuando usa root para abrir un editor, así que no vaya por ese camino;) 2 otras soluciones que no requieren root: intente y corrija segmentation faulto use otro editor (gedit es el editor de gnome). kate y kwrite son programas de KDE (por lo que no son Gnome).
Rinzwind
1
qué cosas dañinas se pueden hacer w editor de texto. Suena loco
l --''''''--------- '' '' '' '' '' ''
1
@ АртёмЦарионов Por un lado, como root puedes editar archivos que tu computadora usa para iniciar el sistema operativo o cargar tu entorno gráfico, rompiendo efectivamente tu computadora.
Amanda

Respuestas:

15

Es bastante simple ejecutar un programa como root.

Para un programa de consola use

sudo <program name>

Si es una aplicación GUI usa

gksudo <program name>
Goddard
fuente
13

Los sistemas operativos tipo UNIX (incluido Linux) utilizan un concepto llamado separación de privilegios para garantizar que el sistema se mantenga seguro. UNIX fue diseñado como un sistema multiusuario desde cero, es decir, fue diseñado para que muchas personas pudieran usar una computadora con UNIX a la vez. Debido a que la mayoría de los usuarios no necesitan poder modificar el sistema central, solo el administrador del sistema debe tener ese privilegio. Ese usuario privilegiado se llama tradicionalmente root . (Root se parece mucho a Administrator en Windows).

Esto tiene sentido en varios niveles. Comúnmente, un servidor web u otro proceso que expone un puerto a otras computadoras (posiblemente maliciosas) se ejecutará como su propio usuario (Apache se ejecuta como el usuario nobody), de modo que incluso si el programa del servidor web es pirateado, el atacante no puede tirar basura toda la máquina con tanta facilidad. Incluso tiene sentido para las máquinas en su mayoría de un solo usuario, como las computadoras de escritorio: si otros miembros de su familia, por ejemplo, logran ejecutar rm -rf /( NO ejecute eso ), no tendrán permiso para eliminar todos los archivos del sistema , como lo harían si no existiera la separación de privilegios.

Hay varios comandos que puede usar para elevar sus privilegios. El sudocomando existe para otorgarle temporalmente privilegios de nivel raíz cuando los necesite para administrar el sistema. También puedes usar los comandos gksudoo su. Este último solo se puede usar si conoce la contraseña de root y es una buena opción si su cuenta no tiene permiso para usar sudo.

El usuario root puede hacer cualquier cosa en un sistema, casi sin excepciones. Entonces, incluso si solicita algo por accidente, se llevará a cabo con poca o ninguna advertencia, incluso si es malo para la salud de su sistema. Es por eso que es una buena práctica realizar la mayoría de sus actividades como usuario normal, y usar la raíz solo cuando sea necesario, como cuando está instalando un programa.

No debería necesitar usar root para deshacerse de una falla de segmentación. Si la raíz es lo único que corrige un defecto de seguridad, entonces el programa tiene un error. Los programas no deberían fallar así solo porque no tienen root.

treinta y tres
fuente
He experimentado este tipo de error y normalmente tiene que ver con un permiso de archivo. Usar rootes como tomar un mazo para romper un maní. Es mejor identificar el archivo y decidir si cambia la propiedad o el permiso según sea necesario. Por ejemplo, tengo un admingrupo para archivos que otros no deberían necesitar actualizar o acceder.
será
5

Además de la respuesta anterior, que dice sobre sudo y gksudo, sí, definitivamente es una mala práctica ejecutar un programa como root a menos que sea administrativo.

Intenta encontrar por qué los programas se bloquean. Por favor, busque ayuda de otros si es necesario.

Masroor
fuente
2

También puede ir a /usr/share/applicationsubuntu y editar el archivo de inicio de la aplicación que está intentando ejecutar.
Como edité el archivo de github atom, normalmente uso un comodín para encontrar archivos como este

sudo nano atom*

Esto abrirá el atom.desktoparchivo, ahora busque el comando Exec y anteponga gksudo. Por ejemplo,

antes de

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

Después

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

Ahora, cada vez que se inicie la aplicación, solicitará la contraseña de root.

Mehul
fuente
bueno, no puedo ver ese archivo en el servidor Tomcat. Tengo que ejecutar la aplicación GUI de esta manera: "sudo ./manager-linux-x64.run" todos los días, lo que sé que no es algo bueno. Pero pkexec no funciona en esta aplicación.
Prabesh bhattarai