Perché `reboot` e` poweroff` funzionano senza i privilegi di superutente in Ubuntu 16.04?


10

Ci sono molte domande sul perché shutdowne rebootrichiedono i privilegi di root. Ci sono anche molte buone risposte disponibili.

Ma c'è qualcosa che non capisco : se riuscire a riavviare o spegnere senza i privilegi di root in un sistema multiutente è una pessima idea ... allora perché è possibile in Ubuntu 16.04?

Quando scrivo poweroffo rebootin un terminale e premo Enter, si spegne / riavvia!

Va bene per me quando poweroffe rebootnon richiedono i privilegi di root ... ma perché hanno suspendbisogno dei privilegi di root? Quando scrivo suspendun terminale e premo Enter, non si sospende, invece si blocca ... e quando corro pm-suspend, richiede sudo.


Ciò dovrebbe essere possibile anche nelle versioni precedenti, se lo configuri farlo ( askubuntu.com/a/570969/158442 , nota le azioni per le sessioni multiple). Systemd lo fa di default però. Visto anche su Arch Linux.
Muru,

Risposte:


3

Per me, entrambi poweroffnon hanno rebootbisogno di una password su Ubuntu 16.04.

Tuttavia, perché ciò si verificasse, ho dovuto creare un account utente chiamato "pippo", ad esempio, e poi ssh su localhost come quell'utente o come me stesso. Quando lo faccio, devo autenticarmi. Sembra riconoscere che un altro utente ha effettuato l'accesso.

Ad esempio, ricevo questo messaggio:

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'.

Presumibilmente, è abbastanza "intelligente" da realizzare quando in realtà c'è un altro utente che ha effettuato l'accesso.

(Concordo con te sul fatto che sarebbe bello autenticarsi sempre come root. A volte, nessun altro utente è connesso, ma un processo importante è in esecuzione in background per eseguire un qualche tipo di calcolo.)

Modifica: mi sono appena provato. Se ho effettuato l'accesso come pippo, devo autenticarmi (che fa parte del gruppo sudo). Se riavvio come me stesso con foo ancora connesso, devo digitare systemctl reboot -isenza password. Presumo che la differenza sia che il sistema sa che sono nel gruppo sudo.

Modifica 2: come notato da Severus Tux, si è systemctl suspend -icomportato in modo simile alla systemctl reboot -imodifica precedente.


Ah .. non ci avevo provato. A proposito, il comando di sospensione funziona sulla tua macchina? Devo assicurarmi che sia un bug
Severus Tux,

Se faccio un ssh a localhost e lo sospendo, non ci riesco. Ottengo "-bash: suspend: impossibile sospendere una shell di accesso".
Ray,

Se apro una finestra e provo a "sospendere", la finestra del terminale si blocca. :-) Non è un buon segno ... Penso che non sia correlato. Comunque, grazie per avermelo chiesto! Non ho mai pensato di provare me stesso, ma la tua domanda mi ha incuriosito. Ho ancora l'abitudine di riavviare con sudo ... non ho notato questo sottile cambiamento.
Ray,

Grazie. Come hai detto sul riavvio, anche "systemctl suspend -i" funziona bene. considera di aggiungerlo alla tua risposta
Severus Tux,

Ok! Probabilmente avrei dovuto aggiungere tutto con un messaggio, ma ogni volta che ho provato qualcosa, ha causato un riavvio, quindi ho dovuto salvare ciò che stavo postando ...
Ray
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.