Пути представляют иногда большую проблему для безопасности системы. Очень просто взломать систему, используя некоторые ошибки в установках путей. Довольно просто запустить трояна, если хакер получает права root или других пользователей, чтобы исполнять свои программы.
Обычная ошибка раньше состояла в том, что '.' содержалась в путях root'а. Злобный хакер делал программу 'ls' и держал ее в своем домашнем каталоге. Если root делал
# cd ~hacker # ls |
он исполнял хакерскую программу 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 - вероятно и в других местах.