...and, in recent years, OSes have strated refusing to
let users
change their shells to user-provided programs (a longstanding peeve
of mine, exacerbated by the broken design of the API behind it).
Urr? Do you mean
the whole /etc/shells thing?
Yes. /etc/shells isn't all that catastrophic, but getusershell() is,
and the two are far too closely tied together in practice.
That has been around for a very long time.
Not all that long. I think it was post-4.3, wasn't it? Maybe even
post-4.4Lite, though I'm fuzzier on that, since I never used anything
post-4.4 until I first got involved with NetBSD.
Quoting getusershell(3): "The getusershell() function appeared in 4.3BSD."
Kind regards,
Alex.
--
"Opportunity is missed by most people because it is dressed in overalls and
looks like work." -- Thomas A. Edison