[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shells in wrong directory according to chsh.



Richard Kettlewell:
> I have no ksh, but /usr/bin/ksh still appears in /etc/shells (which is
> where chsh gets its idea of which shells are valid)... it strikes me
> that perhaps it ought to be the responsibility of the shell packages
> to register themselves in /etc/shells (although shipping a version
> which correctly lists all shells Debian supports would certainly be
> adequate).

A shell.deb should not, must not put itself automatically into /etc/shells.
A system admin may very well want to restrict the shells listed in
/etc/shells.  If we provide an "install-shell" command for shell.deb's to
use, it must provide an override (perhaps /etc/shells.allow and .deny).

On the other hand, shells shouldn't move around, since they are often
referenced by scripts by the full name ("#!/bin/sh" etc).  So providing
a default /etc/shells when the system is first installed is a good solution
-- it breaks only when someone adds a new shell to the project, one which
is not included in the old /etc/shells.  In this case, the postinst script
could check if the shell is in /etc/shells and print out a message if it
isn't.  The sysadmin can then install the relevant line by hand, if 
he thinks it is important.

(New shells are quite rare.  This should not be a problem.  I'm quite happy
with the current situation.)



Reply to: