Compare commits
2 commits
b085ab6e4c
...
d76c5eeff3
Author | SHA1 | Date | |
---|---|---|---|
|
d76c5eeff3 | ||
|
b93e45d97b |
7 changed files with 57 additions and 52 deletions
41
README.md
41
README.md
|
@ -9,11 +9,26 @@ Dieser Gast-Zugang ist über systemd gelöst. Dies ermöglicht es sehr einfach d
|
|||
Wenn am System btrfs als Dateisystem genützt wird, wird das Home-Verzeichnis als Btrfs-Snapshot von /etc/skelXXX angelegt. Beim Ausloggen wird der gesamte Snapshot wieder gelöscht.
|
||||
In GDM erscheint der Gastzugang sofort nach dem aktivieren mittels systemd
|
||||
|
||||
## Installation
|
||||
Die Files unter etc müssen genau so nach /etc kopiert werden.
|
||||
|
||||
##Aktivieren des Gastzuganges
|
||||
Bei der Installation des Paketes wird automatisch ein Gastzugang aktiviert. Der Username ist "gast", das Home-Verheichnis ist /home/gast, in GDM erscheint er als "Gast".
|
||||
Bei der erstmaligen Anmeldung wird das Verzeichnis /etc/skel nach /etc/skelgast dupliziert und weiter nach /home/gast.
|
||||
Um den Gastzugang zu aktivieren, muss auf einem BTRFS-Filesystem zuerst ein Subvolume für das Vorlage-Skeleton-Verzeichnis erstellt werden
|
||||
|
||||
Wenn BTRFS als Filesystem eingesetzt wird, dann muss das Vorlage/Skeleton-Verzeichnis so erstellt werden
|
||||
|
||||
btrfs subvolume create /etc/skelgast
|
||||
|
||||
Wird xfs, ext\* verwendet, dann so
|
||||
|
||||
mkdir -p /etc/skelgast
|
||||
|
||||
Zur Einrichtung muss man sich einmal als Gast anmelden, den Desktop so konfigurieren, wie man ihn dem Gast zur Verfügung stellen möchte (Alias, Shortcuts, Desktop-Icons, Favoriten, Gnome3-Erweiterungen...).
|
||||
Wenn der Desktop fertig eingerichtet ist, eingeloggt bleiben und als root das gesamte /home/gast nach /etc/skelgast kopieren/synchronisieren.
|
||||
Auch den Browser mit allen Addons, Startseite, Suchmaschinen usw. so herrichten, wie man das für seinen Gast-User will.
|
||||
Ich hab startpage.com und metager.de als Suchmaschinen hinzugefügt und als Standardsuchmaschine aktiviert, Google entfernt (Startpage ersetzt Google 1:1).
|
||||
Als Erweiterungen empfehle ich dezentraleyes, uBlock-Origin, Libredirect, Neat Urls, Snapdrop
|
||||
|
||||
Wenn der Desktop fertig eingerichtet ist, die Browser-History und allfällige Cookies löschen **eingeloggt bleiben und als root das gesamte /home/gast nach /etc/skelgast kopieren/synchronisieren**.
|
||||
|
||||
Dann kann man sich als Gast wieder ausloggen.
|
||||
|
||||
|
@ -45,9 +60,9 @@ Prinzipiell ist es sehr sinnvoll alle User-Prozesse beim ausloggen zu beenden (s
|
|||
KillUserProcesses=yes
|
||||
|
||||
|
||||
Für das Problem mit screen ist im Paket my-services eine Service-Unit für Screen, die für jene User vom Administrator aktiviert werden muss, welche screen nutzen können sollen oder wollen.
|
||||
Für das Problem mit screen/tmux ist gibt es eine Anleitung für eine Service-Unit für screen/tmux, die für jene User vom Administrator aktiviert werden muss, welche screen nutzen können sollen oder wollen.
|
||||
|
||||
systemctl enable --now screen@$USER.service
|
||||
https://git.schuerz.at/jakob/tmux-system-service
|
||||
|
||||
Soll das Debian-Standardverhalten für die User-Sessions aber beibehalten werden, so muss für eine korrekte Funktion der Guestsession aber das Beenden aller User-Prozesse für Guest explizit erlaubt werden:
|
||||
|
||||
|
@ -75,21 +90,5 @@ Und wenn notwendig ist noch das Skelet-Vorlage-Home /etc/skel$USERNAME zu entfer
|
|||
|
||||
Die Steuerungs-Files (DropIns) für das Backup sind ebenfalls zu löschen. Siehe im Punkt "Backup"
|
||||
|
||||
##Backup
|
||||
Wenn mkbackup-btrfs in Verwendung ist, dann kann man das Home-Verzeichnis vom Gastzugang vom Backup ausnehmen. Dies geschieht über ein Konfigurations-DropIn in /etc/mkbackup-btrfs.conf.d/
|
||||
Default wird mit der Installation dieses Paketes eine Datei im genannten Verzeichnis mit dem Namen guestsession.conf mit folgendem Inhalt angelegt:
|
||||
|
||||
[DEFAULT]
|
||||
ignore = +/home/gast
|
||||
|
||||
Damit wird der Gastzugang von allen Interval-Snapshots ausgenommen. Das "+" am Beginn veranlasst, dass /home/gast zu allfällig bestehenden Ignore-Listen hinzugefügt wird.
|
||||
|
||||
Soll das Home-Verzeichnis des zweiten Gastzuganges wie im Beispiel weiter oben beschrieben vom Backup mit mkbackup-btrfs ausgenommen werden, so lege man eine neue Datei als root mit dem Inhalt an:
|
||||
|
||||
editor /etc/mkbackup-btrfs.conf.d/zweiterzugang.conf
|
||||
|
||||
[DEFAULT]
|
||||
ignore = +/home/zweiterzugang
|
||||
|
||||
|
||||
|
||||
|
|
21
etc/systemd/system/guest-home@.service
Normal file
21
etc/systemd/system/guest-home@.service
Normal file
|
@ -0,0 +1,21 @@
|
|||
[Unit]
|
||||
Description=Create and delete $HOME for Guest-Session USER: %i
|
||||
Before=user@%i.service
|
||||
#BindsTo=user@%i.service guest-session@%i.service
|
||||
Conflicts=shutdown.target
|
||||
BindsTo=user@%i.service
|
||||
#RefuseManualStart=true
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
# if installed to /usr/lib/systemd, then activate this
|
||||
#ExecStart=-/usr/lib/systemd/scripts/guest-session-homedir.sh create %i
|
||||
#ExecStop=-/usr/lib/systemd/scripts/guest-session-homedir.sh delete %i
|
||||
|
||||
# if installed to /etc/systemd/syste/, then activate this
|
||||
ExecStart=-/etc/systemd/scripts/guest-session-homedir.sh create %i
|
||||
ExecStop= -/etc/systemd/scripts/guest-session-homedir.sh delete %i
|
||||
|
||||
[Install]
|
||||
WantedBy=user@%i.service
|
16
etc/systemd/system/guest-session@.service
Normal file
16
etc/systemd/system/guest-session@.service
Normal file
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=Create guest-user (%i) and activate volatile $HOME for it
|
||||
|
||||
[Service]
|
||||
RemainAfterExit=true
|
||||
|
||||
# if installed to /usr/lib/systemd, then activate this
|
||||
#ExecStart=/usr/lib/systemd/scripts/guest-session.sh create "%I"
|
||||
#ExecStop=/usr/lib/systemd/scripts/guest-session.sh delete "%I"
|
||||
|
||||
# if installed to /etc/systemd/syste/, then activate this
|
||||
ExecStart=/etc/systemd/scripts/guest-session.sh create "%I"
|
||||
ExecStop= /etc/systemd/scripts/guest-session.sh delete "%I"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -1,21 +0,0 @@
|
|||
[Unit]
|
||||
Description=Create and delete $HOME for Guest-Session USER: %i
|
||||
Before=user@%i.service
|
||||
#BindsTo=user@%i.service guest-session@%i.service
|
||||
Conflicts=shutdown.target
|
||||
BindsTo=user@%i.service
|
||||
#RefuseManualStart=true
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=true
|
||||
#ExecStartPre=/bin/sh -c '/bin/systemctl set-environment SKEL=/etc/skel$(/usr/bin/id -un %i)'
|
||||
#ExecStartPre=/bin/sh -c '/bin/systemctl set-environment SK=$(test -e $SKEL && echo -n $SKEL || echo -n "/etc/skel")'
|
||||
#ExecStartPre=/bin/sh -c '/bin/systemctl set-environment UHOME=$(getent passwd %i | cut -d: -f6)'
|
||||
#ExecStartPre=/etc/systemd/system/scripts/guest-session-homedir.sh create "$SKEL" "$UHOME"
|
||||
ExecStart=/usr/lib/systemd/scripts/guest-session-homedir.sh create %i
|
||||
#ExecStart=/bin/chown -R %i:%i "$UHOME"
|
||||
ExecStop=-/usr/lib/systemd/scripts/guest-session-homedir.sh delete %i
|
||||
|
||||
[Install]
|
||||
WantedBy=user@%i.service
|
|
@ -1,10 +0,0 @@
|
|||
[Unit]
|
||||
Description=Create guest-user (%i) and activate volatile $HOME for it
|
||||
|
||||
[Service]
|
||||
RemainAfterExit=true
|
||||
ExecStart=/usr/lib/systemd/scripts/guest-session.sh create "%I"
|
||||
ExecStop=/usr/lib/systemd/scripts/guest-session.sh delete "%I"
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue