[Date Prev][Date Next] [Chronological] [Thread] [Top]

Remapping user info per-system?

I use OpenLDAP as an authentication server for a small LAN (as
proof-of-concept before migrating larger networks), and it's working
perfectly for me with one somewhat-minor exception.  My user database
consists of a bunch of posixAccount entries, and each user's login shell is
determined by the 'loginShell' attribute.  Unfortunately, not all shells are
present on all machines, and sometimes the same shells have different
pathnames of different hosts.

For example, FreeBSD installs bash at /usr/local/bin/bash by default,
whereas it's usually (always?) at /bin/bash on Linux hosts.  Some users want
to use zsh, but can accept bash on machines where zsh isn't installed.  My
question, then, is whether there's any way to re-write the loginShell
attribute on a per-host basis, with rules like:

   FreeBSD server?
     Translate: /bin/bash => /usr/local/bin/bash

   Linux without zsh?
     Translate: /bin/zsh => /bin/bash

and so on.  Yes, I know that one solution is to install every possible shell
into identical paths on each server, but that's just not a good option for
any number of reasons.

Can I do this?  If so, is there a common name for this that I can search for
so that I can read up on it without pestering the list?

Many thanks,
Kirk Strauser
In Googlis non est, ergo non est.

Attachment: pgpJcuLZgqK0u.pgp
Description: PGP signature