ian@utcsstat.UUCP (08/04/83)
The discussion of whether to allow '.' in the $PATH reminds me of an incident that occurred where I used to work. It reminds me of a debate in metaphysics. And who has been discussing whether to `allow' . in $PATH? Isn't this a little like `allowing' people to breathe? When we first got our VAX/UNIX system up one of the people in charge of the system wrote two utilities which he called au (add user) and du (delete user) and which were very useful for doing those jobs. A wonderful choice of names. If he'd been thinking UNIX instead of YAMOS, he might have used `rm' instead of `delete' as a model, and never had the problems described below. He placed these in the /etc directory. About 3 months later the other system administrator was trying to determine how much disk space was used by a certain user. So he typed 'du /user/user_name', unfortunately he was in /etc at the time and '.' was the first entry in his $PATH. When du didn't print the expected data on the screen he scratched his head and typed 'du /user/*', fortunately a few seconds into this he aborted the command. By that time though he had removed 4 users and their entire directory structures and partially removed a fifth (me). Alternately, the other administriviator might have put in one prompt before removing a user's entire file structure. Needless to say du was quickly renamed 'removeuser' and the administrator paid the price by having to spend a couple of days restoring all our files from backup tapes. Needless to say. I hope that this illustrates the problem of having '.' at the start of your $PATH and the problem of not choosing resonable names for dangerous utilities. -- It actually illustrates the danger of having two system managers who can't talk to one another. And the danger of being root all the time. Why do you need to be root to run a normal `du' command? But butchering UNIX to disallow `.' in your PATH variable is not a reasonable solution. John Vander Borght ...pur-ee!sequel!van Ian Darwin, Toronto (utcsstat!ian)