GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar un comando como administrador del sistema (raíz)?

Necesito ejecutar un comando con privilegios administrativos. Alguien dijo que debería ejecutar un comando como root. ¿Cómo hago esto?

Respuesta aceptada:

Las dos principales posibilidades de la línea de comandos son:

  • Utilice su e ingrese la contraseña raíz cuando se le solicite.
  • Ponga sudo delante del comando e ingrese su contraseña cuando se le solicite.

Ejecutar un comando de shell como root

sudo (preferido cuando no se ejecuta una pantalla gráfica)

Este es el método preferido en la mayoría de los sistemas, incluidos Ubuntu, Linux Mint, (posiblemente) Debian y otros. Si no conoce una contraseña raíz distinta, utilice este método.

Sudo requiere que escriba su propia contraseña. (El propósito es limitar el daño si deja su teclado desatendido y desbloqueado, y también para asegurarse de que realmente desea ejecutar ese comando y no fue, p. un error tipográfico.) A menudo está configurado para no volver a preguntar durante unos minutos para que pueda ejecutar varios sudo comandos en sucesión.

Ejemplo:

sudo service apache restart

Si necesita ejecutar varios comandos como raíz, prefije cada uno de ellos con sudo . A veces, es más conveniente ejecutar un shell interactivo como root. Puedes usar sudo -i por eso:

$ sudo -i
# command 1
# command 2
...
# exit

En lugar de sudo -i , puedes usar sudo -s . La diferencia es que -i reyo inicializa el entorno a valores predeterminados sanos, mientras que -s utiliza sus archivos de configuración para bien o para mal.

Para obtener más información, consulte el sitio web de sudo o escriba man sudo en su sistema. Sudo es muy configurable; por ejemplo, se puede configurar para permitir que un determinado usuario solo ejecute ciertos comandos como root. Lee los sudoers página man para más información; usa sudo visudo para editar el archivo sudoers.

su

El su El comando existe en la mayoría de los sistemas tipo Unix. Le permite ejecutar un comando como otro usuario, siempre que conozca la contraseña de ese usuario. Cuando se ejecuta sin especificar un usuario, su se establecerá de forma predeterminada en la cuenta raíz.

Ejemplo:

su -c 'service apache restart'

El comando para ejecutar debe pasarse usando -c opción. Tenga en cuenta que necesita comillas para que su shell no analice el comando, sino que lo pase intacto al shell raíz que su corre.

Para ejecutar múltiples comandos como root, es más conveniente iniciar un shell interactivo.

$ su
# command 1
# command 2
...
# exit

En algunos sistemas, debe estar en el grupo número 0 (llamado wheel ) para usar su . (El punto es limitar el daño si la contraseña de root se filtra accidentalmente a alguien).

Iniciar sesión como root

Si hay una contraseña de root configurada y la posee, simplemente puede escribir root en el indicador de inicio de sesión e ingrese la contraseña de root. Tenga mucho cuidado y evite ejecutar aplicaciones complejas como root, ya que podrían hacer algo que no pretendía. Iniciar sesión directamente como root es principalmente útil en situaciones de emergencia, como fallas en el disco o cuando se bloqueó el acceso a su cuenta.

Modo de usuario único

El modo de usuario único, o nivel de ejecución 1, también le brinda privilegios de raíz. Esto está diseñado principalmente para situaciones de mantenimiento de emergencia en las que no es posible iniciar en un nivel de ejecución multiusuario. Puede iniciar en modo de usuario único pasando single o emergency en la línea de comandos del núcleo. Tenga en cuenta que arrancar en modo de usuario único no es lo mismo que arrancar el sistema normalmente e iniciar sesión como root. Más bien, el sistema solo iniciará los servicios definidos para el nivel de ejecución 1. Por lo general, esta es la cantidad más pequeña de servicios necesarios para tener un sistema utilizable.

Relacionado:¿Cómo crear una partición en espacio libre usando GNU Parted?

También puede acceder al modo de usuario único utilizando el comando telinit:telinit 1; sin embargo, este comando requiere que ya haya obtenido privilegios de root a través de algún otro método para poder ejecutarse.

En muchos sistemas, el arranque en modo de usuario único le dará al usuario acceso a un shell raíz sin solicitar una contraseña. En particular, systemd Los sistemas basados ​​en Windows le pedirán la contraseña de root cuando arranque de esta manera.

Otros programas

Calife

Calife le permite ejecutar comandos como otro usuario escribiendo su propia contraseña, si está autorizado. Es similar al sudo mucho más extendido (ver arriba). Calife es más liviano que sudo pero también menos configurable.

Operación

Op le permite ejecutar comandos como otro usuario, incluido el root. Esta no es una herramienta completa para ejecutar comandos arbitrarios:escribe op seguido de un mnemotécnico configurado por el administrador del sistema para ejecutar un comando específico.

Súper

Super te permite ejecutar comandos como otro usuario, incluido el root. El comando debe haber sido autorizado por el administrador del sistema.

Ejecutar un comando gráfico como root

PolicyKit (preferido cuando se usa GNOME)

Simplemente prefije su comando deseado con el comando pkexec . Tenga en cuenta que si bien esto funciona en la mayoría de los casos, no funciona universalmente.

Ver man pkexec para más información.

KdeSu, KdeSudo (preferido cuando se usa KDE)

kdesu y kdesudo son interfaces gráficas para su y sudo respectivamente. Le permiten ejecutar programas de X Window como root sin problemas. Son parte de KDE. Tipo

kdesu -c 'command --option argument'

e ingrese la contraseña de root, o escriba

kdesudo -c 'command --option argument'

e ingrese su contraseña (si está autorizado para ejecutar sudo ). Si marca la opción "mantener contraseña" en KdeSu, solo tendrá que escribir la contraseña de root una vez por sesión de inicio de sesión.

Otros programas

Ktsuss

Ktsuss ("mantener el su simple, estúpido") es una versión gráfica de su.

Beesu

Beesu es una interfaz gráfica para el comando su que reemplazó a Gksu en los sistemas operativos basados ​​en Red Hat. Ha sido desarrollado principalmente para RHEL y Fedora.

Métodos obsoletos

gksu y gksudo

gksu y gksudo son interfaces gráficas para su y sudo respectivamente. Le permiten ejecutar programas de X Window como root sin problemas. Son parte de Gnome. Tipo

gksu command --option argument

e ingrese la contraseña de root, o escriba

gksudo command --option argument

e ingrese su contraseña (si está autorizado para ejecutar sudo ).

gksu y gksudo están obsoletos. Han sido reemplazados por PolicyKit en GNOME y muchas distribuciones (como Ubuntu) ya no los instalan de forma predeterminada. No debe depender de que estén disponibles o funcionen correctamente.

Manualmente a través de uno de los métodos basados ​​en shell

Use uno de los métodos en la sección "ejecutar un comando de shell como raíz". Deberá asegurarse de que ni DISPLAY variable de entorno ni la XAUTHORITY El entorno se reinicia durante la transición a la raíz. Esto puede requerir una configuración adicional de esos métodos que está fuera del alcance de esta pregunta.

En general, esta es una mala idea, principalmente porque las aplicaciones gráficas leerán y escribirán archivos de configuración como root, y cuando intente usar esas aplicaciones nuevamente como su usuario normal, esas aplicaciones no tendrán permiso para leer sus propias configuraciones.

Relacionado:Macos:¿ejecutar el comando al iniciar la terminal (macOS)?

Editar un archivo como root

Consulte ¿Cómo edito un archivo como root?


Linux
  1. ¿Cómo instalo un script para que se ejecute en cualquier lugar desde la línea de comandos?

  2. ¿Cómo ejecutar el comando Vim desde el shell?

  3. ¿Cómo ejecutar un comando en segundo plano con un retraso?

  4. Cómo ejecutar TeX desde la interfaz de línea de comandos en Linux

  5. ¿Cómo usar nohup para continuar ejecutando un comando después de que el usuario cierre la sesión?

Cómo usar el comando de lectura Bash

Cómo usar el comando xargs de Linux

Cómo usar el comando tee de Linux

Cómo usar el comando superior en Linux

¿Cómo ejecutar Dolphin como root?

Cómo usar el comando fd en el sistema Linux