Critical error - immediate abort - Fehler 26 bei Login
Verfasst: 17 Sep 2010, 10:26
Hallo,
... ein etwas ekligeres Problem. Zunächst zum Server:
- Lucid Lynx
- 64 bit OS
- Genug Leistung für alle (4GB RAM, Atlon DualCore 2.5 Ghz, ...)
Installation funktioniert soweit, eigener DNS-Server - dnsmasq - rennt. Domains funktionieren auch. Alle Pakete via aptitude konfiguriert und installiert. User infinity zu opsiadmin hinzugefügt.
Dann erstes Login - Fehlermeldung:
Fehler 26 findet sich in der _pam_types.h:
Tolle Sache. Der Auth funktioniert bei Opsi über diesen Codeschnipsel:
Hierbei kommt er bis Status 0. Die Variable self._pamService ist "common-auth". Im Syslog kommt parallel noch eine nette Meldung:
Das angesteuerte PAM Python-Modul kann man hier finden: http://www.pangalactic.org/PyPAM/ ... nun ja, und da dort ja wohl der service gesetzt wird geht dann ggf. der pamh verloren - einer meiner Theorien. Aber langsam bin ich mit meinem Latein wirklich am Ende.
Kann mir jemand weiterhelfen? Bin ich dabei auf einen ekeligen Bug im RC gestoßen? Oder was mache ich falsch? Danke für jede Hilfe!
... ein etwas ekligeres Problem. Zunächst zum Server:
- Lucid Lynx
- 64 bit OS
- Genug Leistung für alle (4GB RAM, Atlon DualCore 2.5 Ghz, ...)
Installation funktioniert soweit, eigener DNS-Server - dnsmasq - rennt. Domains funktionieren auch. Alle Pakete via aptitude konfiguriert und installiert. User infinity zu opsiadmin hinzugefügt.
Dann erstes Login - Fehlermeldung:
Huh.{"result": null, "id": null, "error": {"message": "Opsi authentication error: Backend authentication error: Backend authentication error: PAM authentication failed for user 'infinity': ('Critical error - immediate abort', 26)", "class": "OpsiAuthenticationError"}}
Fehler 26 findet sich in der _pam_types.h:
Code: Alles auswählen
#define PAM_ABORT 26 /* Critical error (?module fail now request) */
Code: Alles auswählen
# Create instance
auth = PAM.pam()
logger.error("status: 0")
auth.start(self._pamService)
# Authenticate
logger.error("status: 1")
auth.set_item(PAM.PAM_CONV, AuthConv(self._username, self._password))
logger.error("status: 2")
# Set the tty
# Workaround for:
# If running as daemon without a tty the following error
# occurs with older versions of pam:
# pam_access: couldn't get the tty name
try:
auth.set_item(PAM.PAM_TTY, '/dev/null')
except:
pass
auth.authenticate()
auth.acct_mgmt()
self._userGroups = [ grp.getgrgid( pwd.getpwnam(self._username)[3] )[0] ]
logger.debug(u"Primary group of user '%s' is '%s'" % (self._username, self._userGroups[0]))
groups = grp.getgrall()
for group in groups:
if self._username in group[3]:
self._userGroups.append(group[0])
logger.debug(u"User '%s' is member of group '%s'" % (self._username, group[0]))
except Exception, e:
raise BackendAuthenticationError(u"PAM authentication failed for user '%s': %s" % (self._username, e))
Code: Alles auswählen
Sep 17 09:50:38 sun python: PAM pam_end: NULL pam handle passed
Kann mir jemand weiterhelfen? Bin ich dabei auf einen ekeligen Bug im RC gestoßen? Oder was mache ich falsch? Danke für jede Hilfe!