GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Por qué necesitamos estar rooteados en la terminal para apagar y reiniciar?

Cuando instalamos/eliminamos/actualizamos paquetes o hacemos cambios que requieren privilegios administrativos, se nos solicita la contraseña del usuario administrador que tiene el sudo privilegios:esto sucede tanto a través de la GUI como del terminal.

Sin embargo, si intentamos apagar y reiniciar a través de la terminal, se queja de que debemos ser root :

$ reboot
reboot: Need to be root

$ shutdown now
shutdown: Need to be root

Pero nunca se nos pide una contraseña cuando realizamos estas acciones a través de la rueda dentada en la parte superior derecha.

¿Por qué existe esta discrepancia?

Mejor respuesta

El apagado en la rueda dentada verifica si se le permite apagar la máquina. Esto se hace a través de PolicyKit. En caso de apagar esta declaración en el archivo /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy está marcado:

<action id="org.freedesktop.consolekit.system.stop">
  <description>Stop the system</description>
  <message>System policy prevents stopping the system</message>
  <defaults>
    <allow_inactive>no</allow_inactive>
    <allow_active>yes</allow_active>
  </defaults>
</action>

PolicyKit activa un dbus-send dominio. En caso de apagado sería:

dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

Hay un demonio ejecutándose en segundo plano con privilegios de raíz que invoca el comando de apagado por usted.

Cuando desee poder apagar la máquina "a la antigua" a través de la línea de comando (shutdown, reboot, halt, ... ), entonces necesita agregar el suid-Bit a esos comandos. Pero tenga en cuenta que todas las personas de su sistema que tengan acceso al shell podrían apagar su máquina.


Ubuntu
  1. ¿Por qué necesita eliminar ifconfig para ip?

  2. Hashing de contraseñas y por qué lo necesitamos

  3. Espacio reservado para la raíz en un sistema de archivos:¿por qué?

  4. ¿Por qué el usuario raíz necesita permiso de Sudo?

  5. Tput:¿No hay valor para $término y no se especifica?

Abrir terminal como root en Ubuntu 20.04 Focal Fossa

13 consejos para ajustar y optimizar las bases de datos Mysql y Mariadb

Instalar y usar Guake:un emulador de terminal desplegable para Ubuntu

Ubuntu – ¿Terminal vintage para Ubuntu?

¿Herramienta Gui para ver y administrar la cola de impresión?

shell diferente para usuarios root y no root