Fjern Luk Ned, Genstart og Hviletilstand fra menuen

Source: Download script

Last Updated: 4. December 2024 by Agnete Moos (agms@sonderborg.dk)

Parameters:

Navn Type Standardværdi Påkrævet
Click to see the source code
#!/usr/bin/env bash

#================================================================
# HEADER
#================================================================
#% SYNOPSIS
#+    polkit_policy_shutdown.sh [ENFORCE]
#%
#% DESCRIPTION
#%    This script installs a mandatory PolicyKit policy that either prevents
#%    the "user" or "lightdm" users from suspending the system or
#%    prevents the "user" or "lightdm" users from suspending, restarting or shutting down
#%    the system.
#%
#%    It takes two optional parameters: whether to prevent suspending the system
#%    and whether to also prevent restart/shutdown.
#%    1. Use a boolean to decide whether or not to prevent the "user" from
#%       suspending the system. A checked box prevents suspend and an
#%       unchecked box allows it
#%    2. Use a boolean to decide whether or not to also prevent the "user" from
#%       restarting/shutting down the system. A checked box prevents
#%       restart/shutdown and an unchecked box allows it.
#%       Has no effect if input 1 is unchecked
#%
#================================================================
#- IMPLEMENTATION
#-    version         polkit_policy_shutdown.sh (magenta.dk) 1.0.0
#-    author          Alexander Faithfull
#-    modified by     Andreas Poulsen
#-    copyright       Copyright 2019, 2020 Magenta ApS
#-    license         GNU General Public License
#-    email           af@magenta.dk
#-
#================================================================
#  HISTORY
#     2019/09/25 : af : dconf_policy_shutdown.sh created
#     2020/01/27 : af : This script created based on dconf_policy_shutdown.sh
#     2022/11/01 : ap : This script modified to always disable hibernating/sleeping
#     2022/12/12 : ap : This script modified to allow separately
#                       disabling restart/shutdown or hibernating/sleeping
#
#================================================================
# END_OF_HEADER
#================================================================

set -x

if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
  echo "Dette script er ikke designet til at blive anvendt på en kiosk-maskine."
  exit 1
fi

POLICY="/etc/polkit-1/localauthority/90-mandatory.d/10-os2borgerpc-no-user-shutdown.pkla"

if [ ! -d "$(dirname "$POLICY")" ]; then
    mkdir -p "$(dirname "$POLICY")"
fi

if [ "$1" = "False" ]; then
  rm -f "$POLICY"
elif [ "$1" = "True" ] && [ "$2" = "False" ]; then
  cat > "$POLICY" < "$POLICY" <

Beskrivelse

Udviklet og testet i samarbejde med Aarhus kommune.

Scriptet fjerner Luk Ned, Genstart og Hviletilstand fra menuen og blokerer også for de samme via systempolitik, så eks. genstart/luk ned i så fald heller ikke kan køres fra terminalen af Borger.

SIKKERHEDSMÆSSIGE OVERVEJELSER: Disse muligheder er fjernet i nyere images af den årsag, at sikkerhedsscripts ikke kan overvåge maskinen, når den er slukket. Dvs. en angriber kunne potentielt slukke maskinen, indsætte en keylogger ml. tastatur og computer, og så tænde computeren igen. Af samme grund har vi også udviklet scriptet “Bloker for login ved hård nedlukning” for at forhindre at der lukkes ned på andre måder end menuen, dvs. ved at trykke på knappen eller hive strømstikket ud.

Dette script er blevet testet og virker på Ubuntu 22.04.

Parametre

  1. Fjern hviletilstand? Sæt hak for at blokere for borgerens mulighed for at aktivere hviletilstand. Lad stå tom for at tilføje muligheden.
  2. Fjern også luk ned og genstart? Sæt hak for også at blokere for borgerens mulighed for at lukke eller genstarte computeren. Lad stå tom for at tilføje muligheden. Hvis første input står tom, tilføjes muligheden uanset værdien af dette input.