Безопасно ли редактировать глобальную переменную среды PATH?

9

Я только недавно обнаружил, что не могу запустить mysql, не указав весь путь или не находясь в правильном каталоге - если я не добавил путь к переменной среды PATH.

Мне удалось это сделать, и теперь я могу запустить mysql после запуска моей командной строки. Я ленивый и не хотел печатать весь путь только для запуска mysql из cmd. Кроме того, я не знал другого способа сделать это. Я случайно наткнулся на решение на форуме.

Единственное, что мне сейчас интересно, это то, что это нормально / безопасно для всех моих программ.

Хотя это не практично, это всего лишь предосторожность.

Я заметил, что в некоторых онлайн-уроках некоторые люди использовали переменную PATH для своей пользовательской переменной, а я нет. Я нашел только переменную окружения PATH в разделе системных переменных. Это плохо?

Единственная учетная запись на моем компьютере - учетная запись администратора. По крайней мере, это единственный аккаунт, которым я пользуюсь.

Могу ли я получить некоторую ясность / вклад в это?

ThatRandomGuy
источник

Ответы:

9

Обычно в добавлении каталогов нет ничего опасного PATH. Это может вызвать проблемы только двумя способами:

  1. При использовании командной строки вы можете случайно запустить программу, которую вы не собирались. Опять же, если вы знаете программы, которые вы ставите на себя PATH, ничего плохого не произойдет.
  2. Программы могут найти там библиотеки DLL, которые обычно не загружаются. Порядок поиска DLL указывает, что если запрошенная DLL не может быть найдена в обычных местах, она, наконец, будет найдена в PATHместах. Если, скажем, программа опционально загрузила модуль, пытаясь загрузить DLL по имени и не заботясь о том, что она не удалась, то кто-то с контролем над PATHпапкой может заставить эту программу загрузить произвольную DLL, если она с ее именем не найдена ранее. в поиске. Кстати, эта возможная проблема безопасности заключается в том, что не стоит пытаться загружать библиотеки DLL, которые могут присутствовать или не присутствовать. У хорошо написанных программ такой проблемы не будет.

Вы также можете максимально увеличить PATHпеременную длину , но это не проблема безопасности.

Относительно того, что вы не нашли пользовательскую PATHпеременную: если вы создадите версию этой переменной для каждого пользователя, ваша эффективная PATHбудет системная, автоматически объединенная с вашей пользовательской.

Бен Н
источник
1
Спасибо. Вы в значительной степени покрыли все, в чем я нуждался в уверенности. Высоко ценится. Обычно я не люблю давать принятые ответы, пока не получу достаточно отзывов, но ваш ответ охватывает все и даже больше. Кроме того, я искренне сомневаюсь, что кто-то еще мог бы ответить на мой вопрос.
ThatRandomGuy