ldap,pam,nss: lokale login Shell

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

ldap,pam,nss: lokale login Shell

Beitrag von hoeschler » 02.11.2011 12:57:26

Hi,

Ich hab alle meine User im LDAP hinterlegt.
Die haben alle nötigen Attribute zum Login hinterlegt, was auch wunderbar funktioniert.

Jetzt meine Frage: man holt sich ja per nsswitch.conf seine passwd Infos aus dem LDAP. Jetzt möchte ich aber auf manchen Maschinen den Shell Login erlauben.
Im LDAP ist alles auf /bin/nologin gesetzt.

Wie bekomm ich jetzt lokal die Info vom LDAP überschrieben?

Also entweder ich mach im LDAP den default auf /bin/bash und setz das lokal auf /bin/nologin oder /bin/false.

Lieber wäre mir aber, dass ich alle auf /bin/false im LDAP setze und dann lokal eine Shell zuweise. Diese Richtung hat dann den Vorteil, falls die präferierte Login Shell nicht bash sondern irgendwas anderes ist.

Weiß jemand, wie das geht?

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: ldap,pam,nss: lokale login Shell

Beitrag von uname » 02.11.2011 16:48:40

nss_ldap kann wohl Werte wie Shells einfach überschreiben.

Code: Alles auswählen

nss_override_attribute_value loginShell /bin/bash
Nicht probiert.

Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ldap,pam,nss: lokale login Shell

Beitrag von hoeschler » 02.11.2011 19:07:20

Die Idee ist mir auch gekommen.

Ich habs mal in die nss_ldap.conf eingetragen, aber keinen wirklichen Effekt bemerkt.

Muss man dann irgendeinen Service neustarten? Eigentlich nicht, oder?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: ldap,pam,nss: lokale login Shell

Beitrag von Cae » 02.11.2011 20:04:43

hoeschler hat geschrieben:Muss man dann irgendeinen Service neustarten? Eigentlich nicht, oder?
Nja, so eine .conf wird typischerweise erst bei /etc/init.d/tollerserver reload neu eingelesen. In Fällen wie diesen muss der Client sich zusätzlich neu verbinden.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ldap,pam,nss: lokale login Shell

Beitrag von hoeschler » 03.11.2011 10:59:24

okay, ich habs.

ich hab mich beim Attribut überlesen, und anstatt nss_override_attribute_value ein nss_default_attribute_value gesetzt

Dann funktionierts wunderbar :D


Problem gelöst

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: ldap,pam,nss: lokale login Shell

Beitrag von ThorstenS » 03.11.2011 11:01:49

hast du das auf eine bestimmte Benutzergruppe begrenzt, oder generell allen Usern einen shellzugriff gewährt?
Falls ersteres, interessiert mich deine Umsetzung.

Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ldap,pam,nss: lokale login Shell

Beitrag von hoeschler » 03.11.2011 11:29:00

nee erstmal allen.

Wobei, jetzt wo du das sagst hätt ich da auch Interesse dran.

Wenn ich mir die pam_ldap.conf so anschaue, wäre erste Wahl wahrscheinlich

Code: Alles auswählen

pam_groupdn cn=PAM,ou=Groups,dc=padl,dc=com
Dort eben eine entsprechende Gruppe angeben, in die du diejenigen gepackt hast, denen du Zugriff gewähren möchtest.

Alternativ müsste man wohl mit einem Filter arbeiten.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: ldap,pam,nss: lokale login Shell

Beitrag von ThorstenS » 03.11.2011 20:17:21

ah, danke.

Ich habs bisher so gelöst, dass nur einige Benutzer das Recht hatten sich auf dem Horst einzuloggen. Dazu habe ich die Loginshell von /usr/sbin/nologin auf /bin/bash umgeschrieben.

Vorgehen:
nsswitch.conf wie folgt anpassen:

Code: Alles auswählen

passwd:         compat
group:          files ldap
shadow:         files ldap
passwd_compat:  ldap
Und um zu erreichen, dass kein root aus dem LDAP ins System kommt, und die Loginshell für den User thorsten auf /bin/bash umgeschrieben wird, kommt das ans Ende der passwd:

Code: Alles auswählen

+thorsten::::LDAP User::/bin/bash
-root::::::
+::::::
Mehr dazu siehe man nsswitch.conf

Vllt. werde ich das jetzt mal umstellen. Dann pflege ich nämlich alles zentral im LDAP und nicht mehr auf den Maschinen selbst.
Also danke ich dir für den Input!

Benutzeravatar
hoeschler
Beiträge: 93
Registriert: 05.07.2007 11:28:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ldap,pam,nss: lokale login Shell

Beitrag von hoeschler » 04.11.2011 08:55:33

Na wie gesagt, das ist eher eine Vermutung denn eine gültige config!

Ich müsst das auch mal austesten, habe aber bisher einfach noch nicht die Zeit gefunden.

Antworten