
방금 이상한 점을 발견했습니다.
권한이 없는 사용자로 Archlinux 시스템에 로그인하여 shutdown
. 예상대로 돌아왔습니다Must be root.
놀랍게도 shutdown now
그것을 실행하면 (분명히!)~ 아니다현재 사용자에게 루트 권한이 있는지 확인하십시오. 단순히 기계를 종료합니다.
나는 이것을 Plasma DE의 tty와 터미널 모두에서 재현해 보았습니다.
저는 현재 패키지와 함께 4.2.2 커널로 Archlinux를 실행하고 있습니다.
내 생각엔 이 일과 관련이 없을 것 같아GUI 정책.
tl;dr: 루트가 아닌 사용자로 시스템 종료shutdown now
답변1
실제로 내 답변은 아닙니다. 슬프게도 알 수 없는 이유로 삭제된 답변을 다시 게시하는 것입니다.
Arch Linux에서는 특정 상황에서 루트 권한 없이 PC를 종료/재부팅/최대 절전 모드로 전환할 수 있습니다.
Systemd의 전원 관리에 대한 Arch Linux Wiki 페이지상태:
polkit은 권한이 없는 사용자로서 전원 관리를 위해 필요합니다. 로컬 systemd-logind 사용자 세션에 있고 다른 세션이 활성화되어 있지 않은 경우 다음 명령은 루트 권한 없이 작동합니다.
systemctl 전원 끄기
systemctl 재부팅
systemctl 일시 중지
systemctl 최대 절전 모드
이 작업이 허용되는지 확인하려면(즉, polkit이 설치되어 있고 세션이 중단되지 않은 경우) 다음 명령을 사용할 수 있습니다.
$ loginctl show-session $XDG_SESSION_ID --property=Active
Active=yes
내 Debian 8과 같은 다른 systemd
시스템에서는 다음 명령에 대해 동일한 응답이 있음에도 불구하고 이것이 불가능합니다.
$ loginctl show-session $XDG_SESSION_ID --property=Active
Active=yes
$ systemctl reboot
==== AUTHENTICATING FOR org.freedesktop.login1.reboot ===
Authentication is required for rebooting the system.
Authenticating as: ,,, (myusername)
Password:
이는 polkit
Arch Linux와 Debian에서 기본적으로 다른 방식으로 설정되었음을 나타냅니다. Arch Linux 사람들은 sudo
다음과 같이 말하면서 이것에 비해 이점을 봅니다.Polkit의 위키 페이지:
Polkit은 시스템 전체 권한을 제어하는 데 사용됩니다. 이는 권한이 없는 프로세스가 권한이 있는 프로세스와 통신할 수 있는 체계적인 방법을 제공합니다. sudo와 같은 시스템과 달리 전체 프로세스에 루트 권한을 부여하지 않고 중앙 집중식 시스템 정책을 보다 세밀하게 제어할 수 있습니다.
평소처럼 YMMV.
의 경우 , 권한이 없는 사용자에게 허용되는 으로 shutdown now
의 리디렉션인 것 같습니다 .systemctl poweroff