Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As I know, root's default shell is configured csh and normal user's default shell is sh in FreeBSD. And in Ubuntu, root is dash, normal user is bash. (refer: What's the Ubuntu's default shell?)

Why are they configured differently?

share|improve this question

migrated from serverfault.com Feb 24 '11 at 3:15

This question came from our site for system and network administrators.

en.wikipedia.org/wiki/Debian_Almquist_shell - Dash, is faster, Bash has more features for the end-user. Since you should almost never be using root shell normally, you don't really need all the features of bash. – Zoredache Feb 24 '11 at 2:47
up vote 11 down vote accepted

According to the FAQ:

In FreeBSD's case, the reason is that csh is the only shell "guaranteed" to be on the base filesystem (stuff from ports usually winds up in /usr/local/bin, which defaults to a different filesystem). This is important because you don't ever want there to be a situation where root can't log in because it's using a shell on a different (unmounted) filesystem.

share|improve this answer
/bin/sh is guaranteed available too. But csh has better interactive features, plus it's become an accepted tradition. Other BSDs don't follow it; OpenBSD's root's shell is /bin/ksh (a pdksh derivative). – Gilles Feb 24 '11 at 21:15
@Gilles Right. I chose ksh as root's shell on my NetBSD VPS. I was just repeating the "official" explanation. Frankly, csh is a big reason I like having toor around: I much prefer bash or zsh myself. – Hank Gay Feb 24 '11 at 21:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.