특정 사용자의 종료, 일시 중지 등을 방지하는 가장 "우분투"방법은 무엇입니까?


21

전통적인 Unix 시스템에서는 루트가 아닌 사용자는이 작업을 수행 할 수 없습니다. 최신 데스크톱 환경에서 사용자에게이 기능을 제공하는 기능은 무엇이며 사용자 또는 그룹별로이 기능을 비활성화하는 방법은 무엇입니까?

나는 누군가 가 종료 / 일시 중단 되는 것을 막는 훌륭한 방법을 보았지만, 내가 찾고있는 것은 이상적으로 특정 사용자 (예 : 특정 사용자 그룹에서 추가 / 제거와 같은)가 종료를 실행할 수 없도록하는 것입니다 , 다시 시작, 일시 중단

답변:


20

다른 질문에서 언급했듯이 PolicyKit의 로컬 권한 시스템을 통해 이러한 작업을 제어 할 수 있습니다.

다음 /etc/polkit-1/50-local.d/restrict-shutdown.pkla과 같은 내용 으로 파일을 만드는 경우 :

[Disable shutdown/etc for group restricted]
Identity=unix-group:restricted
Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart;org.freedesktop.upower.suspend;org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

이렇게하면 그룹 구성원이 restricted일치하는 작업을 수행 할 수 없습니다 . 개별 사용자를 제한하려는 경우 또는 교체 unix-group:restricted와 함께 unix-user:user1;unix-user:user2;.... 이 정책과 일치하지 않는 사용자는 기본 동작으로 끝나야합니다.


14.04.1에서 더 이상 작동하지 않습니다.
detly

0

이 파일을 루트로 작성하고 편집하십시오.

/etc/polkit-1/localauthority/50-local.d/power-management.pkla

다음을 복사하여 붙여 넣습니다.

[Disable shutdown/restart for users jim jane]
Identity=unix-user:jim;unix-user:jane
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

[Disable suspend/hibernate for users jim jane]
Identity=unix-user:a;unix-user:vvpinker
Action=org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.