7

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: https://serverfault.com/questions/239535/whats-the-ubuntus-default-shell/239537#239537)

Why are they configured differently?

Eonil
  • 4,657
  • 2
    http://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 02:47

1 Answers1

11

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.

Hank Gay
  • 3,549
  • 1
    /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 'SO- stop being evil' 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