Universelles Postsync-Skript: Anmeldung als linuxadmin geht nicht mehr

Hallo,

ich kann ich mich am Client nicht mehr als linuxadmin anmelden. Wenn ich als anderer sudo-User auf dem Client die grafische Benutzerverwaltung aufrufe (LinuxMint17), kommt die Fehlermeldung: „Die Konfiguration konnte nicht geladen werden. Es wurden ungültige Daten gefunden.“

Das kommt wohl von dem erst seit kurzem eingesetzten universellen-postsync-Skript für trusty. Wenn ich das aus dem Postsync entferne, klappt die Anmeldung wieder.

Im postsync.log habe ich diesen zum Fehler passenden Eintrag gefunden:

Executing: /mnt/postsync.d/01-lcst-setlocalpasswords
 - patching password hashes
      - linuxadmin

Ich habe das Universelle postsync-Skript eigentlich nur eingesetzt, weil ich die /etc/hosts editieren musste und weil es in Zukunft bestimmt noch praktisch sein könnte.
(Vgl: Netzwerkdrucker cups-lokal ? ipp://server.local:631 ? - #19 von S.Senft)

Kann mir jemand sagen, ob ich alle Anpassungen, die das Universelle postsync-Skript schon mitbringt nutzen sollte - und wie ich dann das linuxadmin-Problem löse?

Oder soll ich nur Teile des Universelle postsync-Skripts verwenden - und wie deaktiviere ich dann die problemverursachenden Teile (Dateien auf dem Server löschen, Skriptteile auskommentieren)?

Für Tipps dankbar.
Stefan

P.S:
Hier das Universelle postsync-Skript von meinem Server

####################################################
# Universelles postsync-Skript #####################
####################################################

# IP-Adresse des Servers
SERVERIP=$(nslookup dummy 2> /dev/null | head -n 1 | awk -F: '{print $2}' | sed "s/\s*//g")

# Die Hostgruppe des aktuellen Rechners
HOSTGROUP=$(hostgroup) 

# Raum feststellen. Dieses Skript geht davon aus
# dass die Rechner Namen der Form
# raumname-hostname haben, also z.B. cr01-pc18
RAUM=${HOSTNAME%%-*}
# wenn der string leer ist, raum auf unknown setzen
if [ "x${RAUM}" == "x" ]; then 
    RAUM="unknown"
fi

# UVZ für die Patches auf dem Server. Mit dieser Variablen 
# kann man verschiedene Patches, z.B. für unterschiedliche
# Linux-Versionen bereitstellen.
# Wenn man hier $HOSTGROUP einträgt, erhält jede Rechnerklasse 
# ein eigenes Patchklassenverzeichnis auf dem Server.
# Damit kann man verschiedene Patchklassen mit derselben cloop-Datei
# bedienen, wenn man das benötigt.
PATCHCLASS="trusty"

# Das Verzeichnis, in dem die Serverpatches
# im lokalen Clientcache synchronisiert werden.
PATCHCACHE=/linuxmuster-client/serverpatches

echo "" | tee -a $LOG
echo "Hostname:      ${HOSTNAME}" | tee -a $LOG
echo "Raum:          ${RAUM}" | tee -a $LOG
echo "Patchcache:    ${PATCHCACHE}" | tee -a $LOG
echo "Hostgruppe:    ${HOSTGROUP}"   | tee -a $LOG
echo "Patchclass:    ${PATCHCLASS}" | tee -a $LOG
echo "" | tee -a $LOG

# -----------------------------------------
# Patchdateien auf das lokale Image rsyncen
# ----------------------------------------- 
echo " - getting patchfiles" | tee -a $LOG

# RAUM     -> Raumname
# HOSTNAME -> Rechnername
# Verzeichnis anlegen, damit es sicher existiert
mkdir -p /cache/${PATCHCACHE}
rsync --delete --progress -r "${SERVERIP}::linbo/linuxmuster-client/${PATCHCLASS}" "/cache/${PATCHCACHE}" | tee -a $LOG

echo " - patching local files"  | tee -a $LOG

# common: Bekommen alle clients der Patchklasse
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common ]; then 
    echo "   - patching common to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/common/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks ]; then
  echo "   - unpacking tarpacks from common/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/common/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Raum: Nur die Clients des Raums
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM} ]; then 
    echo "   - patching ${RAUM} to /mnt" | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${RAUM}/tarpacks to /mnt" | tee -a $LOG
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${RAUM}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Host: Nur der Rechner
# files
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME} ]; then 
    echo "   - patching ${HOSTNAME} to /mnt"  | tee -a $LOG
    cp -ar /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/* /mnt/ | tee -a $LOG
fi

# tarpacks
if [ -d /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks ]; then
  echo "   - unpacking tarpacks from ${HOSTNAME}/tarpacks to /mnt" | tee -a $LOG   
  for pack in /cache/${PATCHCACHE}/${PATCHCLASS}/${HOSTNAME}/tarpacks/*; do
     echo "     - unpacking: $pack" | tee -a $LOG
     tar xvzf $pack -C /mnt | tee -a $LOG
  done
fi

# Hook, um eigene Skripte auszuführen
if [ -d /mnt/postsync.d ]; then
    for SCRIPT in /mnt/postsync.d/*
    do
        chmod 755 $SCRIPT
        echo "Executing: $SCRIPT" | tee -a $LOG
        #$SCRIPT > /dev/null 2>&1
        $SCRIPT | tee -a $LOG
        echo " ...done." | tee -a $LOG
    done
    rm -rf /mnt/postsync.d
fi

# wenn es /mnt/tarpacks gibt - löschen
rm -rf /mnt/tarpacks


### Veränderung von Holger und Stefan, weil/etc/hosts nicht gepatcht wurde
sed -i "s/HOSTNAME/$HOSTNAME/g" /mnt/etc/hosts
sed -i "s/#SERVERIP/$SERVERIP/g" /mnt/etc/hosts
###

P.P.S:
Hier mal das ganze postsync.log vom Client:

##### POSTSYNC BEGIN #####
20170825-1110

Hostname:      adm-p01iii
Raum:          adm
Patchcache:    /linuxmuster-client/serverpatches
Hostgruppe:    qiana64update
Patchclass:    trusty

 - getting patchfiles
receiving incremental file list
trusty/common/passwords
           0   0%    0.00kB/s    0:00:00
          46 100%   44.92kB/s    0:00:00 (xfer#1, to-check=16/19)
trusty/common/etc/hosts
           0   0%    0.00kB/s    0:00:00
         210 100%  205.08kB/s    0:00:00 (xfer#2, to-check=11/19)
trusty/common/etc/xdg/autostart/loeschwarnung_schuljahresende.desktop
           0   0%    0.00kB/s    0:00:00
         111 100%  108.40kB/s    0:00:00 (xfer#3, to-check=8/19)
trusty/common/opt/loeschwarnung_schuljahresende.sh
           0   0%    0.00kB/s    0:00:00
         342 100%  333.98kB/s    0:00:00 (xfer#4, to-check=7/19)
trusty/common/postsync.d/00-lcst-fix-initrd
           0   0%    0.00kB/s    0:00:00
         269 100%  262.70kB/s    0:00:00 (xfer#5, to-check=6/19)
trusty/common/postsync.d/01-lcst-setlocalpasswords
           0   0%    0.00kB/s    0:00:00
         540 100%  263.67kB/s    0:00:00 (xfer#6, to-check=5/19)
trusty/common/postsync.d/02-lcst-patch-sshd-config
           0   0%    0.00kB/s    0:00:00
         232 100%  113.28kB/s    0:00:00 (xfer#7, to-check=4/19)
trusty/common/postsync.d/03-lcst-fix-fstab
           0   0%    0.00kB/s    0:00:00
         673 100%  328.61kB/s    0:00:00 (xfer#8, to-check=3/19)
trusty/common/postsync.d/04-lcst-generate-hosts
           0   0%    0.00kB/s    0:00:00
         564 100%  275.39kB/s    0:00:00 (xfer#9, to-check=2/19)
trusty/common/root/.ssh/authorized_keys
           0   0%    0.00kB/s    0:00:00
         623 100%  304.20kB/s    0:00:00 (xfer#10, to-check=0/19)

sent 286 bytes  received 990 bytes  2552.00 bytes/sec
total size is 3610  speedup is 2.83
 - patching local files
   - patching common to /mnt
Executing: /mnt/postsync.d/00-lcst-fix-initrd
 - fixing initrd links
 ...done.
Executing: /mnt/postsync.d/01-lcst-setlocalpasswords
 - patching password hashes
      - linuxadmin
  -done
 ...done.
Executing: /mnt/postsync.d/02-lcst-patch-sshd-config
 - patching sshd_config for server root
      - done
 ...done.
Executing: /mnt/postsync.d/03-lcst-fix-fstab
 - fixing fstab
      - done
 ...done.
Executing: /mnt/postsync.d/04-lcst-generate-hosts
 - fixing hosts
 ...done.
##### POSTSYNC END #####

Hallo Stefan,

ich verwende das mit trusty714 ausgelieferte trusty714.cloop.postsysnc
für HULC.
Damit gibt es am Ende ein paar Fehlermeldungen, aber es funktioniert.
Nur das zusätzliche sync der Partition mit dem leoclient (ohne 2) hat
damit nie funktioniert.

Ich weiß nicht, ob dies dieselbe Datei wie die für xenial916 ist (Wurde
da eigentlich eine mitgeliefert?).

Gruß Jürgen