Hallo,
bei uns im Netzwerk wird beim Login durch kdm ein skript namens pam_session aufgerufen:
Dieses Skript habe ich nicht geschrieben, sondern ein Mitarbeiter der Firma, die unseren Server betreut. Leider sind dort momentan alle in Urlaub, daher möchte ich Euch das Problem schildern (das für mich dringend ist).
Wir haben einige neue, für unsere Verhältnisse sehr schnelle Rechner (SSD, Core I5, Gigabit-Netzwerk).
Melde ich mich an diesem Rechner mit meinem Standardnutzer an, so erhalte ich "pam_session failed: exit Code 1".
An anderen (älteren) Rechnern kann ich mich mit diesem Nutzer aber anmelden, kein Problem.
Melde ich mich hingegen mit einem Nutzer an, den ich nur für administrative Aufgaben nehme (nicht root), funktioniert es.
Der Unterschied zwischen beiden Nutzern: Mein Standardnutzer ist Mitglied in sehr vielen Gruppen, der administrative Nutzer nicht.
Mir ist nicht so ganz klar, wofür das Skript gut ist. Die Homeverzeichnisse sind ohnehin per nfs gemountet. Der Server bietet auch Samba-Shares an, diese werden ja offenbar in dem Skript temporär gemountet (jedenfalls die Gruppenverzeichnisse), und wenn das klappt, ist es gut, wenn nicht, bricht das Skript ab.
Aber warum funktoniert es auf langsameren Rechnern, warum mit Nutzern, die nur in wenigen Gruppen Mitglied sind? (das habe ich mit verschiedenen Accounts probiert, ist reproduzierbar so).
Wenn jemand eine Idee für einen Workaround hat, wäre ich sehr sehr dankbar. Vielleicht würde es ja genügen, irgendwo zu Warten oder so etwas.
Sorry, dass ich mit so einer unklaren Frage hier ankomme,
Viele Grüße,
goeba
bei uns im Netzwerk wird beim Login durch kdm ein skript namens pam_session aufgerufen:
Code:
#!/bin/bash
# Copyright (c) 2016 xxxx
read p
echo "#############################################" >> /tmp/pw
date >> /tmp/pw
set >> /tmp/pw
chmod 600 /tmp/pw
if [ "$PAM_USER" = "root" ]
then
exit 0;
fi
if [ "$PAM_TYPE" = "auth" ]; then
mkdir -p /tmp/groups
MOUNTED=$( mount | grep '/tmp/groups' )
if [ "$MOUNTED" ]
then
/bin/umount /tmp/groups &>/dev/null
fi
/sbin/mount.cifs //admin/groups /tmp/groups -o user=$PAM_USER,password=$p
MOUNTED=$( mount | grep '/tmp/groups' )
if [ "$MOUNTED" ]
then
exit 0
else
exit 1
fi
fi
if [ "$PAM_TYPE" = "close_session" ]; then
if [ $PAM_SERVICE = "gdm" -o $PAM_SERVICE = "kdm" -o $PAM_SERVICE = "login" -o $PAM_SERVICE = "xdm" ]; then
/bin/umount /tmp/groups &>/dev/null
fi
exit 0
fi
Dieses Skript habe ich nicht geschrieben, sondern ein Mitarbeiter der Firma, die unseren Server betreut. Leider sind dort momentan alle in Urlaub, daher möchte ich Euch das Problem schildern (das für mich dringend ist).
Wir haben einige neue, für unsere Verhältnisse sehr schnelle Rechner (SSD, Core I5, Gigabit-Netzwerk).
Melde ich mich an diesem Rechner mit meinem Standardnutzer an, so erhalte ich "pam_session failed: exit Code 1".
An anderen (älteren) Rechnern kann ich mich mit diesem Nutzer aber anmelden, kein Problem.
Melde ich mich hingegen mit einem Nutzer an, den ich nur für administrative Aufgaben nehme (nicht root), funktioniert es.
Der Unterschied zwischen beiden Nutzern: Mein Standardnutzer ist Mitglied in sehr vielen Gruppen, der administrative Nutzer nicht.
Mir ist nicht so ganz klar, wofür das Skript gut ist. Die Homeverzeichnisse sind ohnehin per nfs gemountet. Der Server bietet auch Samba-Shares an, diese werden ja offenbar in dem Skript temporär gemountet (jedenfalls die Gruppenverzeichnisse), und wenn das klappt, ist es gut, wenn nicht, bricht das Skript ab.
Aber warum funktoniert es auf langsameren Rechnern, warum mit Nutzern, die nur in wenigen Gruppen Mitglied sind? (das habe ich mit verschiedenen Accounts probiert, ist reproduzierbar so).
Wenn jemand eine Idee für einen Workaround hat, wäre ich sehr sehr dankbar. Vielleicht würde es ja genügen, irgendwo zu Warten oder so etwas.
Sorry, dass ich mit so einer unklaren Frage hier ankomme,
Viele Grüße,
goeba