ターミナルで再起動するときに sudo が必要なのに、GUI から再起動するときには sudo が必要ないのはなぜですか?

ターミナルで再起動するときに sudo が必要なのに、GUI から再起動するときには sudo が必要ないのはなぜですか?

マシンの電源を入れてアカウントにログインすると、マシンをシャットダウンしたり再起動したりと、何でも好きなことができます。

しかし、ターミナルを開いてコマンドを実行しようとするとrebootshutdownルートアクセスが必要になります。なぜでしょうか?

この種の行動があなたにとって望ましいと思われる理由がいくつか考えられますsshが、確信が持てません。あるいは、私が何かの点を完全に見逃している可能性もあります。

答え1

それは安全機能です。

GUIを使用する場合、通常は作業するコンピュータの前に座ります。しかし、ターミナルを使用する場合は、物理的には1台のマシン上にいて、リモートで別のマシンを使用する場合があります。多くのターミナルウィンドウが開き、多くの異なるマシンで、誤って別のマシンで「再起動」と入力するとどうなるでしょうか? このアクションは、不便なものから完全な災害にまで及ぶ可能性があります。

sudo を使用すると、パスワードの使用が強制されます。間違ったパスワードを入力するとエラーが表示され、間違ったターミナルを使用していることに気付くはずです。このため、サーバーごとに異なる root パスワードを使用することをお勧めします。

答え2

通常、Ctrl + Alt + Del を押すとターミナルから再起動できます。これはリモートでは機能しません。(権限なしで GUI からリモートで再起動しても機能しません。)

関連情報