Garret Raziel pisze:
> Ok, I will explain why it is that way.
> 
> On Linux (and other Unix* like systems like OS X), there is special path
> (saved in variable $PATH) from where you can start programs only by typing
> its name. This is for "standard" system-wide program (like vim, ls...).
> This path is usually /bin, /usr/bin, /usr/local/bin, but you can change
> your own $PATH to reflect your needs.
> 
> On the other hand, if you want to start program from directory you are
> actually in, you have to type "./program". Because "./" stands for "actual
> directory", so, you are actually saying "start 'program' from actual
> directory".
> 

Let me explain the reason for that. Imagine you CAN run programs by just
 writing their names, when you are in the directory they are in.
No imagine you have a directory
/some/path/to/a/directory/writable/for/another/user
Suppose, you do:

cd /some/path/to/a/directory/writable/for/another/user
ls

KABOOM, you removed all your files!
How could it happen?
An evil user created a file named "ls" in
/some/path/to/a/directory/writable/for/another/user
and put the following code there:

#!/bin/sh
rm -Rf /

Now you should be able to understand the reason behind that. That's why
you SHOULDN'T put . into your $PATH
_______________________________________________
Beginners mailing list
[email protected]
http://lists.squeakfoundation.org/mailman/listinfo/beginners

Reply via email to