Shell – Why Root’s Default Shell Differs from Normal User Accounts

freebsdSecurityshellUbuntuusers

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?

Best Answer

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.

Related Question