потому что текущий каталог (.) как правило не включен в число значений переменной PATH и шелл там по умолчанию не ищет. При желании это можно добавить в PATH, но действительно резоны так не делать (особенно для рута) есть.
Подход связан с тем, что программа запускается только при указании полного или относительного пути либо же, без оного, в случае определения пути к ней в команде PATH
Соответственно, чтобы можно было запустить программу без пути в домашнем каталоге - оный каталог должен быть добавлен к PATH. Делать этого не рекомендуется, потому как таким образом возможно подменить общесистемные утилиты своими скриптами (например, положив в этот каталог скрипт с именем cp, внутри которого будет rm -rf)
(Golden @ Четверг, 26 Мая 2005, 10:52) писал(а):Делать этого не рекомендуется, потому как таким образом возможно подменить общесистемные утилиты своими скриптами (например, положив в этот каталог скрипт с именем cp, внутри которого будет rm -rf)
(Golden @ Четверг, 26 Мая 2005, 10:52) писал(а):Делать этого не рекомендуется, потому как таким образом возможно подменить общесистемные утилиты своими скриптами (например, положив в этот каталог скрипт с именем cp, внутри которого будет rm -rf)
Иными словами, если у нас есть /bin/cp и есть /home/user/cp (в котором rm -rf), то в случае, когда в РАТН первым стоит (.) выполнится именно /home/user/cp (когда вошли от имени user, конечно)? При такой же ситуации, но входя под user2 нам ничего не грозит. НО! Если, обладая рутом сделать симлинк /bin/cp->/home/user/cp?!!!
Мда, нетрудно догадаться, что такая подстава может наделать от имени рута :o ... Ответ понятен, спасибо!