Date: Thu, 30 Dec 2004 14:47:24 -0500 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-qa@FreeBSD.org Cc: Randy Pratt <rpratt1950@earthlink.net> Subject: Re: 4.11-RC1: Setting bash as user default shell Message-ID: <200412301447.24917.jhb@FreeBSD.org> In-Reply-To: <20041230141133.330f187c.rpratt1950@earthlink.net> References: <20041230104848.114b267a.rpratt1950@earthlink.net> <20041230155340.GA795@straylight.m.ringlet.net> <20041230141133.330f187c.rpratt1950@earthlink.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 30 December 2004 02:11 pm, Randy Pratt wrote: > On Thu, 30 Dec 2004 17:53:40 +0200 > > Peter Pentchev <roam@ringlet.net> 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 > > > root@perseus.cse.buffalo.edu:/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 <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412301447.24917.jhb>