ubuntuusers.de

PAM so konfigurieren, dass lokale User nicht am LDAP abgefragt werden

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

steelsteel

Anmeldungsdatum:
17. Oktober 2008

Beiträge: 154

Hallo Ubuntu-Gemeinde!

Heute ein verfrickeltes Problemchen: Ich habe erfolgreich PAM so konfiguriert, dass meine Clients eine erfolgreiche Netzwerkanmeldung am LDAP Server durchführen und sogar deren Userhomes dann per SMB eingebunden werden.

Nun habe ich ein administratives Problem:

Immer wenn ich per ssh als "root" bzw. "uid=1000" Benutzer auf die Clients connecte, wird nach denen auch am LDAP angefragt. Der LDAP hat aber keine "Accounts" für die lokalen Nutzer der Clients. Der reagiert ab 5 gleichzeitigen Anfragen allergisch darauf - und sperrt alle SMB User für gewisse Zeiträume.

Mein Versuch bisher:

In der /etc/pam.d/common-auth bzw common-account die Sache logisch so umzustellen, dass "sufficient "localuseraccount" vor dem ldap kommt". Als Vorlage habe ich hierfür http://cccmz.de/~xt3/blog/?p=212 benutzt. Aber ich habe wohl Syntaxprobleme, es funktioniert nicht.

Hier meine beiden conf-Dateien:

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
auth	[success=2 default=ignore]	pam_unix.so nullok_secure

##hier mein localuserversuch:
auth [success=die default=ignore ignore=ignore new_authtok_reqd=ok] pam_localuser.so
 
auth	[success=1 default=ignore]	pam_ldap.so use_first_pass
# here's the fallback if no module succeeds
auth	requisite			pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth	required			pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth	optional	pam_mount.so 
# end of pam-auth-update config
#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system.  The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
#

# here are the per-package modules (the "Primary" block)
account	[success=2 new_authtok_reqd=done default=ignore]	pam_unix.so 

##hier mein localuser versuch
account sufficient pam_localuser.so

account	[success=1 default=ignore]	pam_ldap.so 
# here's the fallback if no module succeeds
account	requisite			pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account	required			pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config

Vielen lieben Dank für alle Hilfe!!!

edit: habe nun mal einfach das Einfuegen von auth sufficient pam_localuser.so

und

account sufficient pam_localuser.so

versucht. Ergebnis ist das selbe: Ich komme nun nicht mehr per ssh auf die localuser (waren in getent passwd sichtbar!), um die Clients zu administrieren.

-edit- Nach diesen Änderungen waren die Clients weder über ssh noch über die gdm-Loginmaske mehr "einlog"-bar. Hilfestellungen jeglicher Art hochwillkommen!

steelsteel

(Themenstarter)

Anmeldungsdatum:
17. Oktober 2008

Beiträge: 154

*push* zum WE ☺

drizzt

Anmeldungsdatum:
11. Juli 2011

Beiträge: Zähle...

IMHO springst du mit dem

auth	[success=2 default=ignore]	pam_unix.so nullok_secure

direkt zu

auth	requisite			pam_deny.so

PomTom

Avatar von PomTom

Anmeldungsdatum:
13. November 2009

Beiträge: Zähle...

Wohnort: Hinter den sieben Bergen, bei den sieben Zwergen

Alternativ kannst du auch über /etc/ldap.conf mittels pam_filter ein LDAP-Objekt mittels der üblichen LDAP-Filter-Notation angeben, das PAM-seitig ignoriert werden soll.

Antworten |