Ubuntu 18.04でデスクトップを使っているのですが、なぜsudoを使わずに再起動やシャットダウンができるのでしょうか?シャットダウンするたびに疑問が頭をよぎります…。
回答頂けると嬉しいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
「なぜ」がどの文脈にかかっているかで回答が変わってくるのですが、「なぜ」が権限にかかるとすれば、以下のような回答になります。
デスクトップ環境を構成するウィンドウマネージャーディスプレイマネージャーはroot権限で動いていて、デスクトップ環境を動かしているユーザーのリクエスト(つまりシャットダウンのボタンを押す等)に応じてシャットダウンなり再起動なりをかけることができます。rootだから。
もうちょいかみ砕いていえば、GUIで再起動やシャットダウンを選択するのは、rootさんに再起動やシャットダウンをお願いしていると考えても良いかと思います。
「なぜデスクトップ環境はユーザー権限で再起動やシャットダウンを可能にしているか」という疑問であるならば、私はあまり明確な回答を持ち合わせていません。
サーバー用途ではなく個人用途なら管理者権限のないユーザーが電源を落とせないのは電気の無駄づかいなのでユーザー権限でシャットダウンできたほうがいい、とは思いますが別にサーバー用途ではGUIを全く使わないわけでもないですし。
ただ、Ubuntu登場よりもずっと昔からLinuxのデスクトップ環境はこの設定がデフォルトになっているという記憶があります。伝統的にそうなっている、としか言えないのかもしれません。
なお、WindowsやMacは別に管理者権限なくてもシャットダウンできます。Windows以前のPCでも同様です。そういう環境に倣っているのかもしれません。
こんな説明でご理解いただけるでしょうか。
追加情報
コメント欄でotnさんとのやりとりにより、中の仕組みが少し見えました。
最近のデスクトップマネージャーはpolkitという権限管理の仕組みを利用して電源オプションの管理、実行をおこなっているようです。
polkitよる設定の解説がここに載っています。
org.freedesktop.consolekit.system.stopやorg.freedesktop.consolekit.system.restartというIDで管理されていて、デフォルトではログインユーザーには電源操作を許可しています。
なお、非ログイン時の電源操作はまた別の仕組みにより制御されているようです。
投稿2018/08/17 13:48
編集2018/08/19 00:41総合スコア4447
0
ユーザーにシャットダウンを許可しているからかと。
投稿2018/08/17 12:59
総合スコア2826
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/18 12:29
2018/08/18 15:08
2018/08/18 15:55
2018/08/18 17:37
2018/08/18 22:09 編集
2018/08/19 00:32
2018/08/19 03:33
2018/08/19 03:55
2018/08/19 04:08