Skip to content

Commit f2fd2b6

Browse files
committed
Two additional scripts
1 parent daed862 commit f2fd2b6

File tree

4 files changed

+127
-0
lines changed

4 files changed

+127
-0
lines changed

chrome_search_provider_fix.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: "Chrome: Fjern spørgsmål om søgemaskine"
3+
parent: "Browser"
4+
source: scripts/chrome_search_provider_fix.sh
5+
compatibility:
6+
- "22.04"
7+
- "BorgerPC"
8+
---
9+
10+
## Beskrivelse
11+
Nyere udgaver af Chrome vil spørge om valg af søgemaskine, hver gang de startes af Borger.
12+
13+
Dette script fjerner dette spørgsmål ved at sætte standard-søgemaskinen for Chrome til Google (den tidligere standardopførsel for Chrome), hvis Chrome er installeret.
14+
15+
Den ændring, som dette script foretager, er også indbygget i "Chrome: Installer", så dette er udelukkende et midlertidigt script, som anvendes til at tilføje ændringen til eksisterende computere.
16+
17+
Hvis scriptet køres på en OS2borgerPC Kiosk eller en OS2borgerPC, hvor Chrome ikke er installeret, vil scriptet ikke have nogen effekt.

prevent_crontab_persistence.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: "Nulstil crontab ved logud"
3+
parent: "Sikkerhed"
4+
source: scripts/prevent_crontab_persistence.sh
5+
parameters:
6+
compatibility:
7+
- "BorgerPC"
8+
- "22.04"
9+
---
10+
11+
## Beskrivelse
12+
Dette script udvider den automatiske oprydning på OS2borgerPC til også at nulstile users (borgers) crontab samt eventuelle planlagte "at"-kommandoer efter hvert logud.
13+
14+
På computere, som er installeret ud fra ældre images, vil der også blive tilføjet en række mindre udvidelser af den automatiske oprydning, som er indbygget i nyere images.
15+
Scriptet sørger således også for, at computeren har den samme automatiske oprydning, som en computer der er installeret ud fra nyeste image.
16+
17+
Scriptet tager ingen parametre.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env bash
2+
3+
set -x
4+
5+
CHROME_DEFAULTS_POLICY="/etc/opt/chrome/policies/managed/os2borgerpc-defaults.json"
6+
SEARCH_POLICY="/etc/opt/chrome/policies/managed/os2borgerpc-search-provider.json"
7+
8+
if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
9+
echo "This computer is an OS2borgerPC Kiosk. Exiting without doing anything."
10+
exit 0
11+
fi
12+
13+
if [ -f "$CHROME_DEFAULTS_POLICY" ]; then
14+
cat > "$SEARCH_POLICY" <<- END
15+
{
16+
"DefaultSearchProviderEnabled": true,
17+
"DefaultSearchProviderSearchURL": ""
18+
}
19+
END
20+
echo "Set default search provider for Chrome to Google (the previous default for Chrome)."
21+
else
22+
echo "Chrome is not installed. Exiting without doing anything."
23+
exit 0
24+
fi
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env bash
2+
3+
set -x
4+
5+
if get_os2borgerpc_config os2_product | grep --quiet kiosk; then
6+
echo "Dette script har ingen effekt på en kiosk-maskine."
7+
exit 1
8+
fi
9+
10+
USERCRON="/etc/os2borgerpc/usercron"
11+
USER_CLEANUP="/usr/share/os2borgerpc/bin/user-cleanup.bash"
12+
ON_OFF_SCHEDULE_SCRIPT="/usr/local/lib/os2borgerpc/set_on-off_schedule.py"
13+
14+
# Move the current user crontab to a file
15+
if [ ! -f "$USERCRON" ]; then
16+
crontab -u user -l > $USERCRON
17+
fi
18+
19+
chmod 700 $USERCRON
20+
21+
# Remove all lines not containing notify-send or zenity, which all of ours do
22+
sed -i "/notify-send\|zenity/! d" $USERCRON
23+
24+
# Check the contents of the file
25+
cat $USERCRON
26+
27+
if ! grep --quiet "crontab" $USER_CLEANUP; then
28+
cat << EOF >> $USER_CLEANUP
29+
30+
# Restore user crontab
31+
crontab -u user $USERCRON
32+
EOF
33+
fi
34+
35+
if ! grep --quiet "atq" $USER_CLEANUP; then
36+
cat << EOF >> $USER_CLEANUP
37+
38+
# Remove possible scheduled at commands
39+
if [ -f /usr/bin/at ]; then
40+
atq | cut --fields 1 | xargs --no-run-if-empty atrm
41+
fi
42+
EOF
43+
fi
44+
45+
if ! grep --quiet "pkill" $USER_CLEANUP; then
46+
cat << EOF >> $USER_CLEANUP
47+
48+
# Kill all processes started by user
49+
pkill -KILL -u user
50+
EOF
51+
fi
52+
53+
if ! grep --quiet "FILES_DIRS" $USER_CLEANUP; then
54+
cat << EOF >> $USER_CLEANUP
55+
56+
# Find all files/directories owned by user in the world-writable directories
57+
FILES_DIRS=\$(find /var/tmp/ /var/crash/ /var/metrics/ /var/lock/ -user user)
58+
rm --recursive --force /dev/shm/* /dev/shm/.??* \$FILES_DIRS
59+
EOF
60+
fi
61+
62+
# If they're using on/off schedules, change the schedule to use the usercron-file
63+
if [ -f "$ON_OFF_SCHEDULE_SCRIPT" ] && grep --quiet "/tmp/usercron" $ON_OFF_SCHEDULE_SCRIPT; then
64+
sed -i "s@USERCRON = \"/tmp@USERCRON = \"/etc/os2borgerpc@" $ON_OFF_SCHEDULE_SCRIPT
65+
sed -i "0,/with open(USERCRON, 'w') as cronfile/{//d}" $ON_OFF_SCHEDULE_SCRIPT
66+
sed -i "/subprocess\.run(\[\"crontab\", \"-u\", \"user\", \"-l\"/d" $ON_OFF_SCHEDULE_SCRIPT
67+
sed -i "/os\.path\.exists(USERCRON)/d" $ON_OFF_SCHEDULE_SCRIPT
68+
sed -i "/os\.remove(USERCRON)/d" $ON_OFF_SCHEDULE_SCRIPT
69+
fi

0 commit comments

Comments
 (0)