Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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
2  
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
add comment

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

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

1 Answer

up vote 10 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
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 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
add comment

Your Answer

 
discard

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.