ターミナルでLinuxを再起動または終了するには、それぞれとreboot
を使用できますpoweroff
。ただし、両方のコマンドにはroot権限が必要です。なぜですか? root権限が不要な場合に発生するセキュリティリスクは何ですか? GUIはすべてのユーザーがシャットダウンまたは再起動する方法を提供しますが、なぜ端末コマンドをrootとして実行するのですか?
GUIのオプションについて言えば、Linuxコンピュータをシャットダウンまたは再起動するためにターミナルにroot権限が必要な場合、GUIがパスワードを入力せずに同じことを行うオプションをどのように提供できますか?
答え1
警告: この回答を読んだ後は、Linux が望むものより多くを知ることができます。
root権限が必要な理由reboot
と理由poweroff
GNU/Linux オペレーティングシステムはマルチユーザーです。、そのUnixシステム親。システムは共有リソースであり、複数のユーザーが使用できます。同時に。
以前はこのようなことがよくありました。コンピュータ端末に接続するミニコンピュータまたはメインフレーム。
人気のPDP-11ミニコンピュータ。最近ではちょっと大きいです:)
今日、これはネットワーク経由でリモートで発生する可能性があります(通常は次のように)。SSH)、存在するシンクライアントまたはマルチシート構成、複数のローカルユーザーが同じコンピュータにハードウェアを接続している場合。
マルチシート構成。写真提供: Thiago Vignati
実際には、同じコンピュータを同時に使用しているユーザーは何百人でも何千人ものユーザーになることができます。あるユーザーがコンピュータをシャットダウンし、他の人がコンピュータを使用できないようにすることができる場合、あまり意味がありません。
root権限が不要な場合に発生するセキュリティリスクは何ですか?
マルチユーザーシステムはこれを効果的に防ぎます。サービス拒否攻撃
GUIはすべてのユーザーがシャットダウンまたは再起動する方法を提供しますが、なぜ端末コマンドをrootとして実行するのですか?
多くのLinuxディストリビューションはGUIを提供しません。デスクトップLinuxディストリビューションは通常シングルユーザーモードに対応しているため、GUIでこれを許可するのは妥当です。
コマンドにまだroot権限が必要な理由は次のとおりです。
- デスクトップ指向のディストリビューションを使用するほとんどのユーザーはコマンドラインではなくGUIを使用するため、問題を引き起こす価値はありません。
- 許可されるUNIXルールと一致
- (おそらく誤解を招く)セキュリティ - 無邪気なプログラムやスクリプトがシステムの電源を切るのを防ぎます。
root権限なしでGUIが閉じられたように見えるようにするにはどうすればよいですか?
実際のメカニズムは、特定のデスクトップマネージャ(GUI)によって異なります。通常、これらのタスクに使用できるいくつかのメカニズムがあります。
- GUI自体をrootとして実行します(正しい実装ではこれが起こらないことを願っています...)
- 設定値
- sudoとNOPASSWD
- これらの権限を持つ他のプロセスにコマンドを渡すには、通常次のようにします。D-バス。広く使用されているGUIでは、通常、次のように実行されます。ポルキット。
要するに
Linuxは、メインフレーム、サーバー、デスクトップからスーパーコンピュータ、携帯電話、コンピュータまで、さまざまな環境で使用されています。電子レンジ。皆をいつも幸せに保つのは本当に難しいです! :)
答え2
Linuxはもともとマルチユーザーオペレーティングシステムとして開発されたUnixに根ざしています。他のユーザーに害を及ぼすようにシステムを再起動したいユーザーがいる可能性があります。 root権限を持つ管理者のみがこれを実行できます。
答え3
これは自然なポリシーと利便性の問題であり、コンピュータに物理的にログインしているため、GUIで許可する必要があります。 (GUIがrootとして実行されず、Centos 6を使用していて、ユーザーにGUIのシャットダウン/再起動オプションもなく、ログアウトとロックオプションのみがある場合は、一部のLinuxディストリビューションはまだパスワードを要求します。)
擬似端末では、root または sudo 権限が必要です。これは、ユーザーがサーバーまたはコンピュータにSSHで接続してシャットダウンまたは再起動したくないためです。
答え4
最初の質問の場合:
root権限が不要な場合に発生するセキュリティリスクは何ですか? GUIはすべてのユーザーがシャットダウンまたは再起動する方法を提供しますが、なぜ端末コマンドをrootとして実行するのですか?
はい、指定されているようにこれ答えは、Linuxが基本的にマルチユーザーシステムとして設計されているということです。あるシステムで複数のユーザーが作業していることを考慮すると、他のユーザーが作業している間に一般ユーザーがシステムをシャットダウンできるようにすることはお勧めできません。遠く離れたユーザーがWebサーバーをシャットダウンした場合は、何が起こるのかを想像してください。したがって、システム管理者(rootユーザー)のみがシステムにpoweroff
アクセスできます。reboot
次のことも理解できます。
$ which poweroff reboot
/sbin/poweroff
/sbin/reboot
したがってpoweroff
、reboot
位置は次のとおりです。/sbin
ディレクトリには、ユーティリティとルート専用コマンドだけでなく、システムの起動、回復、復元、および/または回復のためのデフォルトのバイナリも含まれています。
したがって、これらのコマンドはシステム管理者/rootユーザーが実行する必要があります。マンページをご覧ください。
DESCRIPTION
These programs allow a system administrator to reboot, halt or poweroff the system.
また、関連質問をご覧ください。シャットダウンして再開するには、なぜ端末からルートになるのですか?
2番目の質問の場合:
GUIのオプションについて言えば、Linuxコンピュータをシャットダウンまたは再起動するためにターミナルにroot権限が必要な場合、GUIがパスワードを入力せずに同じことを行うオプションをどのように提供できますか?
GUIは利便性の問題です。明らかに、ユーザーはGUIにログインして何が起こっているのか、何をしているのかを知っています。したがって、ユーザーからのパスワードプロンプト/要件を期待しません。つまり、何らかの方法でシャットダウンまたは再起動を許可します。器具良いポリシーツールキット。しかし、もしそうならコマンドライン状況はまったく異なります...
もちろん、デスクトップ環境で提供される同じコマンドを使用できます。たとえば、gnome
次のように使用できます。gnome-session-quit
root権限を必要としない適切なオプションを使用してください。
また、関連質問をご覧ください。ルート権限なしで電源ボタンを押してコンピュータをシャットダウンするには?