# Lokaler Benutzer - offline arbeiten - "localuser"

**URL:** <https://ask.linuxmuster.net/t/lokaler-benutzer-offline-arbeiten-localuser/1145>\
**Category:** Linuxclient\
**Created:** [24. August 2017 um 21:03 UTC](https://ask.linuxmuster.net/t/lokaler-benutzer-offline-arbeiten-localuser/1145 "2017-08-24T21:03:37Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![S.Senft](https://ask.linuxmuster.net/user_avatar/ask.linuxmuster.net/s.senft/32/65_2.png) [@S.Senft](https://ask.linuxmuster.net/u/S.Senft)\
**Post date:** [30. August 2017 um 10:33 UTC](https://ask.linuxmuster.net/t/lokaler-benutzer-offline-arbeiten-localuser/1145/3 "2017-08-30T10:33:19Z")

</div>

Hallo,

wer den lokalen Benutzer testen möchte, kann den Code einfach in den Postsync kopieren.  
Für alle, die Ubuntu 14.10 oder höher verwenden: Man muss wohl erst rc.local wieder aktivieren, damit systemd diese boot-Skripte ausführt:  
[https://wiki.ubuntuusers.de/rc.local/](https://wiki.ubuntuusers.de/rc.local/)

**Update:**

Ich habe noch einige Einstellungen verändert:

- Internetzugang immer unterbinden:  
`echo iptables -A OUTPUT -m owner --uid-owner $localuser -j DROP >> /mnt/$localuserpath/boot/$localuser.sh`

- Symlink zum Home auf dem Desktop erstellen  
`echo '[$HOME = /home/'$localuser'] && ln -s "$HOME/Home_auf_Server" "$HOME/Desktop/Home" || exit 0' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh`

* * *

Hier die Datei zum Download:  
[postsync-keinnetz-ohne\_case.txt](https://ask.linuxmuster.net/uploads/default/original/1X/5959a9200d82d3b5aad1c61d416214a40d7ca581.txt) (5,6 KB)

Hier der Inhalt:  
########################################################################################################  
# localuser - Lokale Benutzer anlegen ##################################################################  
########################################################################################################  
# Postsync-Skript für LINBO  
# Getestet unter Linux Mint 17.0 Xfce 64bit (Ubuntu 14.04)  
# Stefan Senft  
# 2017-08-30  
# GPL v3

```
### Verzeichnis für Dateien (für alle lokalen Benutzer) ################################################
localuserpath=var/localuser # Pfad zu den Skripten; Standard: var/localuser (kein / am Anfang)
localuserdata=var/localuserdata # Pfad zu den lokalen Ordnern Home_auf_Server; Standard: var/localuserdata (kein / am Anfang)

### Lokaler Benutzer Nr.1 ##############################################################################
# Anlegen des lokalen Benutzers Nr.1
###case###usertype="${HOSTNAME:7:1}"
###case###case $usertype in
###case### i)
###case### echo Image-PC: Kein lokaler Benutzer wird angelegt.
###case### ;;
###case### o)
  # Benutzerdaten
  localuser=keinnetz # Benutername - Standard ist keinnetz
  localuserpsw=sakvXOddUgl9M # Kennwort verschlüsselt mit perl -e "print crypt('keinnetz','sa');" - Standard ist keinnetz
  localuserdel=90 # Anzahl Tage nach denen unbenutzte Dateien aus Home gelöscht werden - Standard ist 90
  localuserbasedir=home # Basis für Homeverzeichnis - Standard: home
  # Info bei Postsync
  echo Ein lokaler Benutzer wird angelegt: $localuser
  # Ordner erstellen
  [! -d "/mnt/$localuserpath"] && mkdir /mnt/$localuserpath
  [! -d "/mnt/$localuserpath/autostart"] && mkdir /mnt/$localuserpath/autostart
  [! -d "/mnt/$localuserpath/boot"] && mkdir /mnt/$localuserpath/boot
  [! -d "/mnt/$localuserdata"] && mkdir /mnt/$localuserdata
  # Skript erstellen zum Anlegen des lokalen Benutzers
  echo '#!/bin/bash' > /mnt/$localuserpath/boot/$localuser.sh
  echo rm -rf /home/$localuser >> /mnt/$localuserpath/boot/$localuser.sh
  echo useradd --create-home --skel /home/linuxadmin --base-dir /$localuserbasedir --password $localuserpsw $localuser >> /mnt/$localuserpath/boot/$localuser.sh
  echo sleep 3 >> /mnt/$localuserpath/boot/$localuser.sh
  echo rm -rf /home/$localuser/Home_auf_Server >> /mnt/$localuserpath/boot/$localuser.sh
  echo mkdir /$localuserdata/$localuser >> /mnt/$localuserpath/boot/$localuser.sh
  echo ln -s /$localuserdata/$localuser /home/$localuser/Home_auf_Server >> /mnt/$localuserpath/boot/$localuser.sh
  echo chmod -R 700 /$localuserdata/$localuser >> /mnt/$localuserpath/boot/$localuser.sh
  echo chown -R $localuser:$localuser /$localuserdata/$localuser >> /mnt/$localuserpath/boot/$localuser.sh
  echo iptables -A OUTPUT -m owner --uid-owner $localuser -j DROP >> /mnt/$localuserpath/boot/$localuser.sh
  echo 'exit 0' >> /mnt/$localuserpath/boot/$localuser.sh
  chmod 744 /mnt/$localuserpath/boot/$localuser.sh
  # rc.local-Eintrag erstellen für Anlegeskript
  sed -i "/\/boot\/$localuser.sh/d" /mnt/etc/rc.local
  sed -i "s#exit.*#/$localuserpath/boot/$localuser.sh#" /mnt/etc/rc.local
  echo 'exit 0' >> /mnt/etc/rc.local
  # Skript erstellen zur Bereinigung der Homes der lokalen Benutzer nach Tagen
  echo '#!/bin/bash' > /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo '[$HOME = /home/'$localuser'] && ln -s "$HOME/Home_auf_Server" "$HOME/Desktop/Home" || exit 0' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo 'datsek=$(date +%Y-%m-%d-%H%M%S)' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo count=0 >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo while ! test -w /$localuserdata/$localuser >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo do >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo sleep 1 >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo count=\`expr '$count' + 1\` >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo 'if test $count -eq 60' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo then exit 1 >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo fi >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo done >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo find /$localuserdata/$localuser -atime +$localuserdel -delete >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo 'echo Letzte Bereinigung: $datsek - $count Sekunden nach Skriptstart > "'/$localuserdata/$localuser'/WARNUNG - Unbenutzte Dateien werden nach '$localuserdel' Tagen geloescht"' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo 'zenity --warning --text "\\n Unbenutzte Dateien des Benutzers '$localuser' \\n werden nach '$localuserdel' Tagen automatisch geloescht"' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  echo 'exit 0' >> /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  chmod 775 /mnt/$localuserpath/autostart/$localuser-cleanhas.sh
  # Autostarteintrag erstellen für Bereinigungskript
  echo [Desktop Entry] > /mnt/etc/xdg/autostart/localuser_$localuser.desktop
  echo Name=localuser_$localuser >> /mnt/etc/xdg/autostart/localuser_$localuser.desktop
  echo Exec=/$localuserpath/autostart/$localuser-cleanhas.sh >> /mnt/etc/xdg/autostart/localuser_$localuser.desktop
###case### ;;
###case### *)
###case### echo Kein lokaler Benutzer wird angelegt.
###case### ;;
###case###esac
# Löschen der Home_auf_Server-Ordner von entfernten lokalen Benutzern Nr.1 #############################
  [! -f "/mnt/$localuserpath/boot/$localuser.sh"] && rm -rf /mnt/$localuserdata/$localuser

```

Gruß  
Stefan

---

_[View the full topic](https://ask.linuxmuster.net/t/lokaler-benutzer-offline-arbeiten-localuser/1145)._
