По поводу безопасности
Пути представляют иногда большую проблему для безопасности системы. Очень
просто взломать систему, используя некоторые ошибки в установках
путей. Довольно просто запустить трояна, если хакер получает права root или
других пользователей, чтобы исполнять свои программы.
Обычная ошибка раньше состояла в том, что '.' содержалась в путях
root'а. Злобный хакер делал программу 'ls' и держал ее в своем домашнем
каталоге. Если root делал
он исполнял хакерскую программу ls.
Косвенно, это может применяться ко всем программам, запущенным от root. Любой
важный демон никогда не должен запускать программы, записанные другим
пользователем. В некоторых системах, /usr/local/bin разрешает содержать
программы менее строгие в отношении безопасности - это только что удалено
из переменной пути пользователя root. Однако, если известно, что некоторый
демон выполняет 'foo', используя пути '/usr/local/bin/:...', то возможно
обмануть демон, чтобы он выполнил '/usr/local/bin/foo', вместо '/bin/foo'
Вероятно любой, кто может записывать в 'usr/local/bin', способен взломать
систему.
Очень важно рассмотреть, в каком порядке каталоги прописаны в путях. Если
/usr/local/bin записан перед /bin - вы рискуете защитой.
В Linux нужно помнить, что определение путей сделано на уровне вызовов операционной системы. Вы можете использовать короткое имя файла, который будет искаться по крайней мере в /bin и /usr/bin - вероятно и в других местах.