私はDebian 9.5を使用しています。端末でコマンドを入力するたびに、次のようにsystemctl halt
表示されます。
Authentication is required to start halt.target
パスワードの入力を求められます。ただし、コマンドを使用でき、systemctl reboot
パスワードsystemctl poweroff
を要求せずに正常に実行されます。パスワードを求めるかどうか止めるその後も必要です終了。
答え1
以降のバージョンでは、systemd v235が停止しました。できるパスワードなしで許可します。これを許可するには、一部のpolkit構成ファイルを編集する必要があります。
この一時停止機能を追加したコミットの説明では、「一時停止の全体的な概念は実際にはあまり役に立ちません」と述べています。 [1] この点が終了/再始動の違いを説明すると思います:-)。
これを見るもう1つの方法は、シャットダウン/再開ボタンが通常のGUIに提供され、パスワードなしで機能したいということです。 systemdプロジェクトはこれを達成する方法を提供します。ただし、ユーザーは通常「停止」のための別々のボタンを望んでいません。
私はこの投稿を確認して承認するのに役立ちました。私は通常、systemdがこの動作を変更しない方が安全であると考えており、そうする必要がある明確な理由はありません。
元の動作はより簡単であると見なすことができます。維持する実際にAPIのコードとドキュメントを使用したくない場合は、これは間違いなくお勧めできません。あるいは、ユーザーが実際にやりたくないことをしないようにする方法かもしれません。わかりません。私は非常に曖昧に別のものを想像しました。 「停止」は、ROMモニタ(利用可能な場合)に入ると定義されます。起動時にパスワードを要求する仮想ROMモニタがある場合、OSが制御を引き継ぐときにパスワードの再入力を求められるかどうかはわかりません。
v235にpolkitサポートを追加することは、ログインサポートの中断の付随的な利点です。これはsystemctl
停止中の動作の一貫性を維持するために行われますが、ポルケットサポートが実際の理由ではありません。
[1] PR #6944 - "systemctl 再起動/停止の調整" - コミット 36b69c313120 - "logind: Halt() および CanHalt() API を追加"
関連:https://github.com/systemd/systemd/pull/6944/commits/36b69c31312007f522a2a7ae5087ae90bd7867cc
ポルケットのヒント
polkitのデフォルト設定を表示できます/usr/share/polkit-1/actions/org.freedesktop.login1.policy
。power-off
同様のアイテムを検索reboot
してその<defaults>
要素を表示できます。 v235以降では、halt
比較する項目があります。
その他の詳細も確認できます。たとえば、ネットワーク経由でログインしている場合、システムをシャットダウンするには管理者パスワードが必要です。
正しいスペルを知っている場合は、/etc/polkit-1
デフォルト設定とは異なる設定を提供するファイルをどこかに作成できます。私の考えでは、「ルール」を定義する必要があるようです。