it-swarm-ko.tech

관리자 암호를 요구하지 않고 시스템을 종료하려면 어떻게해야합니까?

내 컴퓨터에 여러 사람이 로그인 한 경우 컴퓨터를 종료 할 때 Ubuntu에 수퍼 유저 인증이 필요합니다. 암호를 묻지 않고 컴퓨터를 종료 할 수 있도록하려면 어떻게해야합니까?

49
Isaiah

해결 방법이 필요하지 않습니다. 여러 사용자가 로그인 한 경우 종료 및 재부팅을 위해 관리자로 인증하지 않고 종료 할 수 있도록 정책을 변경하면됩니다.

자주 사용하는 텍스트 편집기를 사용하여 /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy 파일을 편집하십시오. 루트 권한이 필요합니다.

다른 사람이 로그인 할 때 종료와 관련된 섹션 변경

  <action id="org.freedesktop.consolekit.system.stop-multiple-users">
    <description>Stop the system when multiple users are logged in</description>
    <message>System policy prevents stopping the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.freedesktop.consolekit.system.stop-multiple-users">
    <description>Stop the system when multiple users are logged in</description>
    <message>System policy prevents stopping the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

다른 사람이 로그인 할 때 재부팅 관련 섹션

  <action id="org.freedesktop.consolekit.system.restart-multiple-users">
    <description>Restart the system when multiple users are logged in</description>
    <message>System policy prevents restarting the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
  </action>

  <action id="org.freedesktop.consolekit.system.restart-multiple-users">
    <description>Restart the system when multiple users are logged in</description>
    <message>System policy prevents restarting the system when other users are logged in</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

여러 사용자가 로그인 한 경우 PC를 종료하고 재부팅 할 수 있습니다. 원하는지 여부는 다른 질문입니다.

27
Richard Holloway

Richard Holloway의 답변 실제로 PolickKit 인증이 부여되는 방식은 아닙니다. /usr/share/polkit-1/actions에 설치된 파일은 수정되지 않습니다. 대신 /etc/polkit-1/localauthority/50-local.d/에서 권한을 수정해야합니다.

이 질문에 대한 방법은 다음과 같습니다.

/etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown.pkla라는 파일을 만들고 sudoedit을 사용하여 다음과 같이 편집하십시오.

[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultInactive=no
ResultActive=yes

그런 다음 동일한 디렉토리에 다른 .pkla 파일을 작성하십시오. .pkla로 끝나는 이름 (예 : allow_all_users_to_restart.pkla)을 사용하여 다음 내용으로 채우십시오.

[Allow all users to restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultInactive=no
ResultActive=yes

참고 문헌 :

33
Flimm

더 좋은 방법이 있습니다. dbus-send를 설치 한 경우 dbus 루트 권한으로 에스컬레이션 할 필요없이를 통해 종료 할 수 있습니다.

문서가있는 페이지를 기억할 수 없지만 한 Archlinux 사용자가이를 알아 냈습니다.

종료 :

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

재부팅 :

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Reboot

일시 중단 :

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:1

최대 절전 모드 :

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
          /org/freedesktop/Hal/devices/computer \
          org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate

문안 인사.

16
ibuclaw

HAL은 이제 폐기되어 최신 Ubuntu 릴리스에 설치되지 않은 것 같습니다.

전원 상태를 관리하려면 ConsoleKitPower dbus 서비스를 사용해야합니다

일시 휴업:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

재시작:

dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

매달다, 중지하다, 뜨게하다:

dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

최대 절전 모드 :

dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate

아치 리눅스 덕분에 포럼 .

이것은 현재 Precise와 Quantal에서 작동하지만 Freedesktop 포커스가 ConsoleKit에서 systemd로 이동 한 이후 얼마나 오래 지속되는지는 모릅니다. 정식적인 관심이 있는지 모르겠다 ...

12
Epeli

이것은 14.04에서 작동합니다. 이전 IMO의 업데이트 된 변형으로 올바른 answer by Flimm .

Sudo mkdir -p /etc/polkit-1/localauthority/50-local.d
sudoedit /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown_reboot_suspend.pkla 

이것을 안에 붙여 넣으십시오.

[Allow all users to shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-multiple-sessions
ResultActive=yes

[Allow all users to reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions
ResultActive=yes

[Allow all users to suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive=yes

[Allow all users to ignore inhibit of shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off-ignore-inhibit
ResultActive=yes

[Allow all users to ignore inhibit of reboot]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-ignore-inhibit
ResultActive=yes

[Allow all users to ignore inhibit of suspend]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-ignore-inhibit
ResultActive=yes
4
Konstigt

다른 사용자가 터미널 창을 열고 reboot 명령을 루트로 실행하지 않고 로그인하는 동안 다시 부팅 할 때 수퍼 유저 비밀번호 묻기를 피하는 방법은 없습니다.

Sudo reboot

그래도 사용자 계정에 대한 암호 프롬프트를 무시하도록 구성되지 않은 경우 Sudo에서도 암호를 묻습니다.

걱정하지 마십시오. 이것들은 좋은 것입니다. 재부팅은 드물고 간단한 관리자 암호 프롬프트로 실수로 자신을 호소합니다!

1
jathanism

이 작업을 수행 할 그룹/사용자에게 할당 된 sudoers 파일에 중지 및/또는 재부팅을 추가하십시오. 이렇게하면 시스템에 대한 전체 루트 액세스 권한을 부여하지 않고도 종료 할 수있는 사람을 계속 제어 할 수 있습니다.

http://linux.byexamples.com/archives/315/how-to-shutdown-and-reboot-without-Sudo-password/

0
tommed

나는 이것이 커맨드 라인을 통해 그것을 할 때만 문제라고 생각합니다.

그렇다면 여기에 문제를 도울 수있는 link 가 있습니다.

0
myusuf3