
私は Debian を試しているのですが、systemd と再起動に関する権限について疑問に思っています。次のような観察をしました (lightdm と i3 WM を使用した Debian Buster):
- コマンド
poweroff
等は、/sbin/poweroff
リンクにマップされます/bin/systemctl
/bin/systemctl
権限があり-r-s------
、ユーザーはアクセスできません- その結果、
systemctl poweroff
などは動作せず、systemctl --user mycommand
動作さえしません (Arch Linux などとは異なります)。
しかし、KDE をインストールすると、パスワードを入力せずにメニューから電源をオフにして再起動できます。オンラインで役立つ回答が見つからず、これがどのように可能なのか理解できません。どうやって実現しているのでしょうか?
答え1
「polkit」と呼ばれるメカニズムがあり、これは、マシンのシャットダウン、ネットワークへの接続など、従来の UNIX システムでは root が必要となる特定のタスクを、マシンにローカルにログインしたユーザーが実行できるようにするために使用されます (他の機能も含む)。
より詳しい回答はgnome はルート権限なしでどのように再起動しますか?質問内の gnome の話は無視してください。このメカニズムはさまざまなデスクトップで使用されています。