¿Por qué "reiniciar" y "apagar" funcionan sin privilegios de superusuario en Ubuntu 16.04?

¿Por qué "reiniciar" y "apagar" funcionan sin privilegios de superusuario en Ubuntu 16.04?

Hay muchas preguntas sobre por qué shutdownse rebootrequieren privilegios de root. También hay muchas buenas respuestas disponibles.

Pero hay algo que no entiendo: Si poder reiniciar o apagar sin privilegios de root en unmulti usuarioel sistema es unmuy malidea… entonces ¿por qué es posible esto en Ubuntu 16.04?

Cuando escribo poweroffo rebooten una terminal y presiono Enter, ¡de hecho se apaga/reinicia!

Está bien para mí cuando poweroffno rebootnecesito privilegios de root... pero ¿por qué suspendnecesito privilegios de root? Cuando escribo suspenden una terminal y presiono Enter, no se suspende, sino que se atasca... y cuando lo ejecuto pm-suspend, requiere sudo.

Respuesta1

Para mí, ambos poweroffni rebootnecesitan contraseña en Ubuntu 16.04.

Sin embargo, para que esto ocurriera, tuve que crear una cuenta de usuario llamada "foo", por ejemplo, y luego enviar ssh a localhost como ese usuario o como yo. Cuando hago esto, necesito autenticarme. Parece reconocer que otro usuario ha iniciado sesión.

Por ejemplo, recibo este mensaje:

User foo is logged in on sshd.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl reboot -i'.

Presumiblemente, es lo suficientemente "inteligente" como para darse cuenta cuando en realidad hay otro usuario conectado.

(Estoy de acuerdo con usted en que sería bueno autenticarse siempre como root. A veces, ningún otro usuario inicia sesión, pero se está ejecutando un proceso importante en segundo plano realizando algún tipo de cálculo).

Editar: Lo acabo de probar yo mismo. Si inicié sesión como foo, necesito autenticarme (quién está en el grupo sudo). Si reinicio como yo mismo con foo todavía conectado, tengo que escribir systemctl reboot -isin contraseña. Supongo que la diferencia es que el sistema sabe que estoy en el grupo sudo.

Edición 2: como señaló Severus Tux, systemctl suspend -ise comportó de manera similar a systemctl reboot -ila edición anterior.

información relacionada