Re: 4.11-RC1: Setting bash as user default shell

John Baldwin <[email protected]>
Newsgroups gmane.os.freebsd.devel.quality-assurance
Message-ID <[email protected]>
On Thursday 30 December 2004 02:11 pm, Randy Pratt wrote:
> On Thu, 30 Dec 2004 17:53:40 +0200
>
> Peter Pentchev <[email protected]> wrote:
> > On Thu, Dec 30, 2004 at 10:48:48AM -0500, Randy Pratt wrote:
> > > I did a fresh install of 4.11-RC1 on an older box:
> > >
> > > FreeBSD dell.weeble.com 4.11-RC1 FreeBSD 4.11-RC1 #0: Fri Dec 17
> > > 16:47:15 GMT 2004
> > > [email protected]:/usr/obj/usr/src/sys/GENERIC  i386
> > >
> > > I was not able to set bash as the user's default shell during
> > > installation even though bash had been installed.  The message said
> > > that it was not a valid user shell.  I decided to leave it as
> > > /bin/sh to complete the installation.  I tried adding a new user
> > > after installation and setting the shell to
> > > /usr/local/bin/bash and a pop-up said:
> >
> > Is bash (or rather, /usr/local/bin/bash) listed in your /etc/shells file?
> > If not, have you by any chance had the root filesystem mounted read-only
> > during the bash port/package installation?
>
> The root filesystem is read/write as freshly installed.
>
> However, you are correct in that /etc/shells contains
> "/usr/local/bin/bash2" on 4.11-RC1 and it is "/usr/local/bin/bash"
> on 4.11-STABLE.  Perhaps both should be added to /etc/shells or
> revert back to the old behavior.  The way it is violates POLA in
> my view.
>
> > Just adding /usr/local/bin/bash to /etc/shells should be enough to
> > allow you to use either chsh or sysinstall to set it as a user/root
> > shell.
>
> Yes, that will work or specifying /usr/local/bin/bash2 in chsh will also
> work.  However, during installation, modifying /etc/shells is not
> an option.
>
> The problem is that none of this is documented and is going to
> cause new users grief and confuse present users.
>
> Thanks for your quick response and identification of the problem.
> I'll file a PR so it doesn't get lost in the shuffle.
>
> Thanks!
>
> Randy

This is a problem with the bash port as the bash port is what adds lines 
to /etc/shells.  Actually, you probably chose the bash2 port and that is 
installed as /usr/local/bin/bash2.  If you install the 'bash' port which 
contains bash 3.0, then that will install /usr/local/bin/bash and add it to 
your /etc/shells file.  Looking at the scripts used to build the CDs, it 
seems that the bash2 port is included on the first CD but not the 'bash' 
port.  Perhaps trying e-mailing re@ and asking them to use the shells/bash 
port rather than shells/bash2?

-- 
John Baldwin <[email protected]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-qa
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.