How do I change my shell?

We are currently in the process of migrating our HOWTO articles to a new CCIS Knowledgebase. The content of this page has been moved to the following KB article:

KB0012112: How do I change my shell?

Click here to expand the deprecated HOWTO page

The standard method to change your shell on a UNIX or Linux system is to use chsh, but that doesn’t always work on our CCIS Linux systems because they authenticate against a network-based directory service, rather than using accounts which are local to a specific machine.

If chsh (or ypchsh) doesn’t work for you, or if the change it makes doesn’t persist, email and let us know what you’d like your shell changed to. We can make the change in a way that will stick (by modifying it directly on the directory server).

Note that:

  1. Changing your shell does not affect any running login sessions (these continue to use whatever your shell was at time of login). In order for the change to take effect on any running sessions, you have to log out of and then log back into those sessions. (ie: End the existing session and start a new one.)
  2. CCIS Linux boxes cache passwd (ie: account) lookup information (including shell) for a certain period of time (as of July 2011: 10 minutes). A cache-invoking lookup can be caused by logging in, or simply by querying the system for your passwd entry.

    As such, the system on which you run chsh likely will not check in to discover your new shell until ~10-15 minutes after you have changed it. If you want to immediately confirm your shell change, it is best to change your shell on one machine and then connect to another machine which you have not recently accessed to confirm that the change took effect.

    (Because of delays synchronizing new information all directory servers, the change may not be immediately active on other systems, either. Please allow up to a 5 minute delays for this sync. (Hence saying “10-15 minutes” above, rather than just “10 minutes.”))

Comments on this entry are closed.