사용자가 SSH를 통해 연결된 경우 14.04에서 종료 또는 재부팅을 비활성화하는 방법은 무엇입니까?

사용자가 SSH를 통해 연결된 경우 14.04에서 종료 또는 재부팅을 비활성화하는 방법은 무엇입니까?

내 사무실에는 Ubuntu Trusty 데스크톱 PC 그룹이 있으며 일반적으로 해당 PC에 SSH를 통해 연결하고 명령줄에서 원격으로 업데이트를 설치합니다. 불행히도 때때로 로컬 사용자가 해당 PC를 종료하여 업데이트 프로세스를 중단하기로 결정하는 경우가 있습니다.

SSH 세션이 활성화되어 있을 때 해당 사용자가 PC를 종료하거나 재부팅하거나 일시 중단하는 것을 방지하고 싶습니다. 내가 어떻게 해?

시도했지만 molly-guardGUI 사용자가 시스템을 종료하는 것을 막지는 못했습니다(GUI 사용자에게는 영향을 미치지 않는 것 같습니다).
이 질문도 보았지만 Ubuntu 14.04 LTS에도 적용 가능한지 여부를 이해하지 못했습니다(적용 방법도 잘 모르겠습니다).
SSH를 통해 로그인한 다른 사용자가 있는 경우 종료/일시 중지를 비활성화합니다.

답변1

관리자 권한이 있는 경우 PolKit 정책을 사용하여 이 작업을 수행할 수 있습니다.

다음을 포함하는 파일을 (예 : ) .pkla에 생성합니다 ./etc/polkit-1/localauthority/50-local.ddisable-shutdown.pkla

[Disable Shutdown, etc.]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no

-multiple-sessions부분은 여러 사용자가 로그인한 경우를 위한 것입니다. 해당 접미사가 없어도 유사한 작업이 있습니다. 내가 알 수 있는 한 이렇게 하면 GUI에서 이러한 작업이 비활성화됩니다.

이 방법은 GUI에서 실행된 재부팅 등의 명령만 차단한다는 점에 유의하세요. 재부팅 등의 명령줄 명령을 차단하려면 molly-guard를 사용할 수 있습니다.루트를 포함한 모든 사용자에 대해 종료 명령을 비활성화하면 결과가 발생합니까?

관련 정보