Remplacer le shell LDAP

9

J'ai un serveur LDAP et un shell prédéfini (bash). Mais il y a une machine sur laquelle je veux qu'un autre shell soit utilisé chaque fois que l'utilisateur s'y connecte au lieu du shell stocké dans LDAP.

Comment puis-je faire ceci?? Quelqu'un peut-il me donner une direction à ce sujet?

Je vous remercie

Incroyable
la source
quelle version / os?
rkthkr
OS - Debian Lenny
Incredible

Réponses:

10

Dans /etc/ldap.conf, ajoutez la ligne suivante:

nss_override_attribute_value loginShell <different_shell>

Bonne chance,
João Miguel Neves

jneves
la source
1
Juste une note que pour que cela fonctionne pour moi, j'ai dû redémarrer nscd après le changement ( /etc/init.d/nscd restart)
Michael Mior
/etc/ldap.confest le fichier de configuration de libnss . Sur les systèmes Debianish, c'est le cas /etc/libnss-ldap.conf. man nss_ldap sur votre système devrait donner le nom exact. J'ai également dû exécuter nscd -i passwdpour vider le cache nscd.
exore
3

Répertoires personnels partagés? Sinon, mettez dans les utilisateurs ~/.bash_profile(ou quel que soit le fichier approprié, vérifiez INVOCATION dans man bash):

exec /bin/tcsh

Ou n'importe quel shell avec lequel vous souhaitez remplacer bash.

S'ils se connectent à l'aide de ssh, vous pouvez utiliser des paires de clés et des commandes forcées.

Veuillez noter que, selon l'endroit où vous placez l'exec pour un autre shell, des commandes comme scppeuvent ne pas fonctionner correctement si vous ne recherchez pas un shell interactif, comme dans /etc/skel/.bashrcUbuntu.

Le mieux est de demander à votre administrateur LDAP de changer le nom loginShellde votre utilisateur LDAP.

ptman
la source
Les utilisateurs seront connectés via ssh. Pouvez-vous s'il vous plaît élaborer un peu plus sur l'utilisation des paires de touches et l'option des commandes forcées. Pouvez-vous me donner quelques conseils? Je vous remercie.
Incroyable
Paires de clés SSH: < sial.org/howto/openssh/publickey-auth > Des informations sur les commandes forcées peuvent être trouvées sur les pages de manuel sshd (8) et sshd_config (5)
ptman
Je n'ai pas trouvé d'option qui le fasse automatiquement pour tous les utilisateurs. Cela devrait également être lié à ldap, car ici sshd lira le shell par défaut de ldap. Et je veux passer outre.
Incroyable