폴킷 팁

폴킷 팁

저는 데비안 9.5를 사용하고 있습니다. 터미널에서 명령을 입력할 때마다 다음과 같이 systemctl halt표시됩니다.

Authentication is required to start halt.target

비밀번호를 묻는 메시지가 표시됩니다. 하지만 명령을 사용할 수 systemctl reboot있으며 systemctl poweroff암호를 묻지 않고 성공적으로 실행됩니다. 비밀번호를 묻는지 원합니다멈추다그런 다음에도 필요합니다종료.

답변1

이후 버전에서는 systemd v235가 중지되었습니다.할 수 있다비밀번호 없이 허용합니다. 이를 허용하려면 일부 polkit 구성 파일을 편집해야 합니다.

이 일시 중지 기능을 추가한 커밋에 대한 설명에는 "일시 중지의 전체 개념은 실제로 그다지 유용하지 않습니다"라고 나와 있습니다. [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기본 설정과 다른 설정을 제공하는 파일을 어딘가에 만들 수 있습니다. 내 생각엔 "규칙"을 정의해야 할 것 같습니다.

관련 정보