Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site rlgvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!bellcore!decvax!genrad!panda!talcott!harvard!seismo!rlgvax!guy From: guy@rlgvax.UUCP (Guy Harris) Newsgroups: net.unix-wizards Subject: Re: kluge vs design Message-ID: <519@rlgvax.UUCP> Date: Wed, 27-Feb-85 18:19:22 EST Article-I.D.: rlgvax.519 Posted: Wed Feb 27 18:19:22 1985 Date-Received: Sat, 2-Mar-85 03:16:59 EST References: <8685@brl-tgr.ARPA> Organization: CCI Office Systems Group, Reston, VA Lines: 68 > /* > > > Those users could have their .profile, then `exec' their > > > as the last statement. > > > > That can be done - it's what we did before we fixed "login" to permit > > you to set TERM and TZ directly. However: > > > > 1) it's a kludge, the need for which can be obviated by a minor change > > to "login"; > > It's NOT a kluge, it was DESIGNED that way. Yes. It was designed to assume everybody used the Bourne shell as their login shell. Feh. (P.S. Did you design it? Do you know the designer? If no, how do you know it was designed that way?) > Why modify REAL CODE to do what you can with a PROFILE? Because it's more convenient to set TERM directly than to explain that "well, yes, there is a "shell" field in the password file, but you can't always use it because Bell forgot that people don't always use the Bourne shell as their login shell". If .profile or /etc/profile are so wonderful, how come there's a "shell" field in the password file at all? Why wasn't it removed in V7? > What if Joe Blow wants the environment variable INPUT set to some > special filename for his application? Are you going to go off to /usr/src > & hack login.c for him too? If it's truly a canned application, it's very unlikely that Joe Blow even knows what an environment variable, much less that they should set INPUT to some particular value. > Does everyone even HAVE the source? No, but we are a vendor and therefore have the source; we fix it once and all our customers get it. (AT&T fixes it and everybody who buys from AT&T gets it.) > > 2) it requires the system administrator to go through a song-and-dance > > to set up their account ("No, Fred, you don't just set their "shell" > > field to "/op/op/programs/shell", you leave it blank and stick the > > following in their .profile...") - i.e., it renders the "shell" field > > of the password file largely useless. > > Systems administrators LIKE to sing & dance. That's what they get paid > for. At our sites, most SAs are former secretaries or clerks and do a nice job of administering the systems using the utilities we provide. They get paid to add users, dump files, and understand the application and answer questions, not to figure out the intricacies of UNIX. The latter is what our support people are paid for. > The user sticks it to his own profile. Or asks the S.A. to do it. > You have a point, tho. The shell field is largely useless and can be > done away with altogether. `Exec' as the last line in .profile does the > same thing at the expense of some extra startup time. And at the expense of taking a one-file user database and scattering the information in it across N .profile files. It's also nice not to have "uucp" have to go through the entire "/etc/profile" and ".profile" to log in (note the 4.xBSD ".hushlogin" facility to keep UUCP just from getting the message-of-the-day when it logs in; if you force them to run the entire /etc/profile you're wasting the remote site's money). Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy