bash - superuser

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Dec 24 09:39:40 PST 2004


On 2004-12-24 15:38, "Colin J. Raven" <colin at kenmore.kozy-kabin.nl> wrote:
> On Dec 24, Josh Paetzel launched this into the bitstream:
> >I've always been curious as to why you can't(shouldn't?) just change
> >the shell that root uses.
>
> Josh that's been the backbone of this particular thread over the last
> few days. I'd check the archives and follow the entire thread all the
> way through, in order to view the (rather eloquent) arguments for and
> against that have been posted.
>
> FWIW (and that's maybe not much) at installation time I use the default
> shell when su'd, but when I get a new box up and reasonably configured I
> switch root shell to bash.
>
> Notwithstanding all the reasons raised wherein it's thought that "you
> shouldn't" I've honestly never run into a problem with it - thus far
> anyway. If eventually I do, well there y'go I guess, I'll rethink the
> matter through if (or when) the bad things happen.

There is a case that even a statically linked bash may fail, leaving you
with a system that can only boot in single user mode:

- When the system ABI changes in a way that ports *are* broken, even if
  compiled statically.

The system ABI (application binary interface) may change in an
incompatible way only if you're running CURRENT and the internals of
some library change drastically.

This should *never* affect the binaries built as part of the recommended
buildworld/buildkernel cycle, which means that /bin/csh and /bin/sh
should still work.  Applications compiled from the Ports _may_ break
though.  Even if statically linked.

Having said that, I have been using `exec bash -l' as the first command
after I su to root for a long time now, and it only broke once (when the
stdin/stdout/stderr changes where made to libc).

- Giorgos



More information about the freebsd-questions mailing list