質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

2回答

1196閲覧

Ubuntu Desktopでユーザがシャットダウンできる理由

toshiyan

総合スコア74

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

1グッド

1クリップ

投稿2018/08/17 12:38

Ubuntu 18.04でデスクトップを使っているのですが、なぜsudoを使わずに再起動やシャットダウンができるのでしょうか?シャットダウンするたびに疑問が頭をよぎります…。

回答頂けると嬉しいです。

set0gut1👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答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
hope_mucci

総合スコア4447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2018/08/18 12:29

ウィンドウマネージャはログインユーザー権限で動いています。 X下でログインを処理するディスプレイマネージャはroot権限ですが。
hope_mucci

2018/08/18 15:08

otnさん 確かにrootで動いているのはディスプレイマネージャーのほうですね。失礼しました。
otn

2018/08/18 15:55

ディスプレイマネージャが無くてもシャットダウンや再起動できます。
hope_mucci

2018/08/18 17:37

ではディスプレイマネージャーは関係ない、と。ほかにシャットダウンできそうなプロセスは何があるでしょう。logind? apcid?。他は思いつきません。仕組みをご存知でしたら教えていただきたいです。
otn

2018/08/18 22:09 編集

仕組みは、ちょっと分からず、回答できませんでした。 可能性としては、Xサーバー自体はrootで動いているので、XのAPIでそういうのがあるのかな?という程度です。あるいは、内部でsudo/suを起動しているか。 なお、ディスプレイマネージャ無しでXを使うには、OSをCUIモードで起動してログインし、 LANG=ja_JP.utf-8 startx です。
hope_mucci

2018/08/19 00:32

ありがとうございます。otnさんの情報どおりstartxでログ見ながらいろいろ検索していたら、以下の情報に行きつきました。http://lost-in-forest.hatenablog.com/entry/a00b polkitで認証APIが提供されていて、polkitを通してシャットダウンや再起動が行える仕組みのようです。ユーザー単位、グループ単位、ローカルかリモートかなど細かく絞り込みできるんですね。勉強になりました。
otn

2018/08/19 03:33

後で見る第三者のために、回答を修正しておいて下さい。 私もこういう疑問を持ったことが無かったので、勉強になりました。
hope_mucci

2018/08/19 03:55

コメントには書きませんでしたが、前回のコメントを書いた後回答に追記しています。こういう場合は通知されないのかな。
otn

2018/08/19 04:08

失礼しました。冒頭しか見て無かった。
guest

0

投稿2018/08/17 12:59

oikashinoa

総合スコア2826

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問