Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2019 08:28:51 +0000
From:      Edward Napierala <trasz@freebsd.org>
To:        Devin Teske <dteske@freebsd.org>
Cc:        rgrimes@freebsd.org, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r343440 - head/bin/sh
Message-ID:  <20190125082851.GA26199@v2>
In-Reply-To: <D7EEA6BA-EAA6-4A84-A7C4-904999B0E581@FreeBSD.org>
References:  <201901251709.x0PH9Rc4094379@repo.freebsd.org> <201901251957.x0PJvdTL089917@pdx.rh.CN85.dnsmgr.net> <CAFLM3-oSafSxcWSJPEXQ8szLEq5N593fr=sEsup6A2%2BP_VXrgQ@mail.gmail.com> <D7EEA6BA-EAA6-4A84-A7C4-904999B0E581@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 0125T1441, Devin Teske wrote:
> 
> 
> > On Jan 25, 2019, at 1:37 PM, Edward Napierala <trasz@freebsd.org> wrote:
> > 
> > pt., 25 sty 2019 o 19:57 Rodney W. Grimes
> > <freebsd@pdx.rh.cn85.dnsmgr.net <mailto:freebsd@pdx.rh.cn85.dnsmgr.net>> napisaƂ(a):
> >> 
> >>> Author: trasz
> >>> Date: Fri Jan 25 17:09:26 2019
> >>> New Revision: 343440
> >>> URL: https://svnweb.freebsd.org/changeset/base/343440
> >>> 
> >>> Log:
> >>>  Comment out the default sh(1) aliases for root, introduced in r343416.
> >>>  The rest of this stuff is still to be discussed, but I think at this
> >>>  point we have the agreement that the aliases should go.
> >>> 
> >>>  MFC after:  2 weeks
> >>>  Sponsored by:       DARPA, AFRL
> >> 
> >> Please just revert this and the prior commit out, and when
> >> the path forward is clear commit it.  I would not want any of this
> >> merged to 12/ or 11/ until the time that it is all settled.
> > 
> > Oops, my bad - neither this nor the previous commit is supposed
> > to be MFC-ed; the "2 weeks" above comes from my default Subversion
> > config.
> > 
> > Regarding the backoff - just a few hours ago you said you don't have
> > any problem with this, except for aliases and the default ENV.  The
> > aliases problem has been addressed, and you hadn't yet responded
> > to my explanations regarding the ENV.  Another committer asked for
> > backoff, because "sh is not an interactive shell", while in fact sh(1)
> > is FreeBSD's default interactive shell except for root.  Finally, there's
> > one person who asked for revert, but without giving any reasons
> > whatsoever.
> > 
> > So far nobody had proposed any scenario where this would break
> > anything, or even affect existing users.  It seems like a typical bikeshed
> > situation.
> 
> It is not clear to me after reading r343416 and D18872 what this change is trying to solve.

The idea is to make it easy to replace the default root shell - which
many people consider broken, due to not supporting basic shell syntax - with
something that actually works.

> PS1 should have a reasonable default. If that default is not reasonable, then we should change the C code.
> 
> Maybe I see things differently, but I'd rather see PS1 default change so no profile/shrc change is necessary.

Thank you, that's actually a valid argument.  I believe that's also what
bash does.  It would be more intrusive, though, and I kind of don't like
the idea of hardcoding things that can easily be dealt with with in a more
"high-level" way.

> I prefer that sh, in its default configuration, not attempt to read $HOME/.shrc, for security reasons.

Can you elaborate?  It already reads $HOME/.profile; how is $HOME/.shrc
different?

> Further, it is documented that the contents of ENV may be ignored in privileged mode, negating these changes.

True - so if someone finds the idea of having a suid shell useful - from
what I undestand that's what the privileged mode boils down to - this
change will be a no-op.  I seriously hope nobody does, though.

> If you wanted your new shiny default PS1 to actually have an effect in all modes (including privileged mode, where you probably want it), you would have put it in /etc/profile and not in a file that is wholly ignored by some modes (e.g., privileged mode).
> So the solution is not even the right one for the desired result.

I would, if only it didn't break zsh, and perhaps others.  The
problem here is that zsh uses different syntax for PS1, _and_
it also parses /etc/profile.

And no, I don't care at all about privileged mode, I can't imagine
a situation when using it would be a good idea.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190125082851.GA26199>