LDAP-Shell überschreiben

9

Ich habe einen LDAP-Server und eine vordefinierte Shell (Bash). Es gibt jedoch einige Computer, auf denen eine andere Shell verwendet werden soll, wenn sich der Benutzer bei dieser anmeldet, anstatt der in LDAP gespeicherten Shell.

Wie kann ich das machen?? Kann mir jemand eine Richtung geben?

Vielen Dank

Unglaublich
quelle
welches os / version?
rkthkr
OS - Debian Lenny
Unglaublich

Antworten:

10

Fügen Sie in /etc/ldap.conf die folgende Zeile hinzu:

nss_override_attribute_value loginShell <different_shell>

Viel Glück,
João Miguel Neves

jneves
quelle
1
Nur eine Anmerkung, damit dies für mich funktioniert, musste ich nscd nach der Änderung neu starten ( /etc/init.d/nscd restart)
Michael Mior
/etc/ldap.confist die Konfigurationsdatei von libnss . Auf debianischen Systemen ist es /etc/libnss-ldap.conf. man nss_ldap auf Ihrem System sollte den genauen Namen angeben. Ich musste auch laufen nscd -i passwd, um den nscd-Cache zu leeren.
Exore
3

Gemeinsame Home-Verzeichnisse? Wenn nicht, geben Sie sie in die Benutzer ein ~/.bash_profile(oder was auch immer die richtige Datei ist, überprüfen Sie INVOCATION in man bash):

exec /bin/tcsh

Oder durch welche Shell Sie Bash ersetzen möchten.

Wenn sie sich mit ssh anmelden, können Sie Schlüsselpaare und erzwungene Befehle verwenden.

Bitte beachten Sie, dass Befehle wie, je nachdem, wo Sie die Exec für eine andere Shell platzieren, scpmöglicherweise nicht richtig funktionieren, wenn Sie nicht nach einer interaktiven Shell suchen, wie in /etc/skel/.bashrcUbuntu.

Am besten bitten Sie Ihren LDAP-Administrator, die loginShellfür Ihren LDAP-Benutzer zu ändern .

ptman
quelle
Benutzer werden über ssh angemeldet. Können Sie bitte etwas mehr über die Verwendung von Schlüsselpaaren und erzwungenen Befehlen erfahren? Können Sie mir bitte einige Hinweise geben? Vielen Dank.
Unglaublich
SSH-Schlüsselpaare: < sial.org/howto/openssh/publickey-auth > Informationen zu erzwungenen Befehlen finden Sie auf den Manpages sshd (8) und sshd_config (5)
ptman
Ich konnte keine Option finden, die dies automatisch für alle Benutzer ausführt. Es sollte auch etwas mit ldap zu tun haben, da hier sshd die Standard-Shell von ldap liest. Und das möchte ich überschreiben.
Unglaublich