Re: i3lock PAM Problem?

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Sun, 4 Aug 2013 16:24:48 +0200 (CEST)

Gerhard Brauer wrote:
> ich würde gerne den X11-Screenlocker i3lock verwenden. Kein Problem,
> ist ja in den Ports.
> Aber: das Entsperren/Unlocken kann mit jeder beliebigen Zeichenfolge
> geschehen, auch irgend_ein_ Buchstabe.

Ich kann das bei mir reproduzieren.

Der Grund ist schnell gefunden: Die mitgelieferte PAM-
Konfiguration verwendet »auth include login«, und login
wiederum verwendet pam_self. Das bedeutet, dass jeder
Benutzer als sich selbst authentisieren kann, auch wenn
er kein korrektes Passwort eingibt. Kann man testen:
Einfach mal "login" am Shell-Prompt eingeben, dann den
eigenen Benutzernamen, und man ist ohne Passwort drin.
Gibt man einen anderen Benutzernamen ein, wird nach dem
Passwort gefragt.

Dein Ansatz, stattdessen »auth include system« zu nehmen,
war eigentlich schon ganz richtig. Aber der Haken an der
Sache ist, dass nur root die verschlüsselten Passwörter
(master.passwd) lesen und verifizieren kann. Wenn Du
i3lock als normaler Benutzer startest, geht das nicht,
daher wird kein Passwort als richtig akzeptiert.

Du müsstest daher i3lock ein setuid-Bit spendieren:

# chmod 4111 /usr/local/bin/i3lock

Dann klappt's auch mit dem Entsperren. Auf einem anderen
Blatt steht, ob man i3lock so weit vertrauen mag, ihm ein
setuid-Bit zu geben ... Ich habe den Source jetzt nicht
auf irgendwelche "Klopfer" hin untersucht.

Ich persönlich verwende xlockmore (ports/x11). Zwar hat
das notwendigerweise ebenfalls ein setuid-Bit, aber es
ist deutlich weiter verbreitet als i3lock und daher ist
der Source wohl tendentiell von mehr Augen geprüft worden
(und da ich mal einen eigenen xlockmore-Mode geschrieben
hatte, hatte ich mich zwangsläufig ein wenig mit dem
Source auseinandergesetzt).

Der i3lock-Port ist in dieser Form jedenfalls nicht unter
FreeBSD zu gebrauchen. Ich fürchte fast, der Maintainer
des Ports hat ihn nie selbst ausprobiert. In der PAM-
Konfiguration sollte jedenfalls system statt login stehen,
und der Port sollte zumindest eine Option anbieten, um
das Binary setuid-root zu machen.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG,  Marktplatz 29, 85567 Grafing
Handelsregister:  Amtsgericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsreg.: Amtsgericht München,
HRB 125758, Geschäftsführer:  Maik Bachmann,  Olaf Erb,  Ralf Gebhart
FreeBSD-Dienstleistungen/-Produkte + mehr: http://www.secnetix.de/bsd
"I have stopped reading Stephen King novels.
Now I just read C code instead."
        -- Richard A. O'Keefe
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 04 Aug 2013 - 16:24:59 CEST

search this site