Чи безпечно редагувати глобальну змінну середовища PATH?


9

Нещодавно я з’ясував, що не можу запустити mysql, не ввівши цілий шлях або знаходячись у правильному каталозі - якщо тільки я не додав шлях до змінної середовища PATH.

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

Єдине, що мені зараз цікаво, це чи це добре / безпечно робити для всіх моїх програм.

Хоча це не практично, це лише обережність.

Я помітив, що в підручниках в Інтернеті деякі люди мали змінну PATH для своєї змінної користувача, а я - ні. Я лише знайшов змінну середовища PATH у розділі системних змінних. Це погано?

Єдиний обліковий запис на моєму ПК - це обліковий запис адміністратора. Принаймні, це єдиний обліковий запис, який я використовую.

Чи можу я отримати певну чіткість / внесок у цьому?

Відповіді:


9

Зазвичай у додаванні каталогів немає нічого небезпечного PATH. Це може спричинити проблеми лише двома способами:

  1. Під час використання командного рядка ви можете випадково запустити програму, якої ви не мали наміру. Знову ж таки, якщо ви знаєте програми, які ви додаєте PATH, нічого шкідливого не відбудеться.
  2. Програми можуть знайти там DLL, які зазвичай не завантажуються. Порядок пошуку DLL вказує, що якщо запитувану DLL не можна знайти у звичайних місцях, її нарешті шукатимуть у PATHмісцях. Якщо, скажімо, програма необов'язково завантажила модуль, намагаючись завантажити DLL за іменем і не піклуючись про помилку, хтось із керуванням PATHпапкою може змусити цю програму завантажити довільну DLL, якщо одна з її іменем не знайдена раніше в пошуку. Між іншим, ця можлива проблема безпеки полягає в тому, що погана ідея намагатися завантажити DLL-файли, які можуть бути, а можуть і не бути. Добре написані програми не матимуть цієї проблеми.

Ви також можете збільшити максимум PATHдовжини змінної , але це насправді не проблема безпеки.

Щодо того, що ви не знайдете PATHзмінну користувача : якщо ви створите версію змінної для користувача, вашою ефективною PATHбуде система, яка автоматично поєднується з вашою для користувача.


1
Дякую. Ви в значній мірі охопили все, в чому я потребував впевненості. Дуже вдячний. Я, як правило, не люблю надавати відповіді, поки я не отримав достатньо відгуків, але ваша відповідь охоплювала все та інше. Крім того, я щиро сумніваюся, що хтось інший потрудиться відповісти на моє запитання.
ThatRandomGuy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.