Alternate Shells

Barry Shein root at bu-cs.UUCP
Wed Aug 14 12:34:02 AEST 1985


>From: conor at Glacier.ARPA (Conor Rafferty)
>Subject: Alternate Shells
>Summary: Why is chsh fascist?

>A quickie: 4.2BSD chsh does not allow the user to specify alternative
>shells - only "sh" and "csh" are permitted. Why is this? It seems
>ironically inappropriate in UNIX, where the shell is ``an ordinary,
>swappable user program'' and ``user-selectable system interfaces [...]
>become essentially trivial to implement'' [Ritchie & Thompson CACM 1974].


One obvious reason probably had more to do with the 'nuisance' of people
setting various things to be their shell and then finding out it was a
bad choice and rendering their account useless thus going and bothering
some SA to unjam them. Note that chsh was a Berkeley thing and kids will
be kids...(it's easy, by the way, to either change or re-write chsh to
be more liberal or accept a wider variety of things, but obviously a
priv'd account would have to install it.) Note that if you are priv'd
I believe chsh lets you set to anything (besides, at that point you
don't need chsh.)

Another reason that nags the back of my mind is a security hole, but by
the time a shell is exec'd for you in login you are already setuid()'d
and setgid()'d to you so it doesn't seem to me it opens any hole that
isn't already there...hmmm.

I think you can see it more as a site policy rather than a restriction
imposed by UNIX. Go bug your SA if you have a good argument.

Alternatively, you could easily accomplish the same effect through your
.login file, just put the command you want right there, no?

	-Barry Shein, Boston University



More information about the Comp.unix mailing list