ターミナルで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は、メインフレーム、サーバー、デスクトップからスーパーコンピュータ、携帯電話、コンピュータまで、さまざまな環境で使用されています。電子レンジ。皆をいつも幸せに保つのは本当に難しいです! :)