web-dev-qa-db-ja.com

グローバルPATH環境変数を編集しても安全ですか?

最近、PATH環境変数にパスを追加しない限り、パス全体を入力するか、正しいディレクトリに配置しないとmysqlを実行できないことがわかりました。

私はなんとかそうすることができました、そして今、私は私のコマンドラインの起動時にmysqlを実行することができます。私は怠惰で、cmdからmysqlを実行するためだけにパス全体を入力したくありませんでした。また、私はそれを行う他の方法を知りませんでした。私はフォーラムでランダムに解決策に出くわしました。

私が今疑問に思っているのは、これが私のすべてのプログラムで問題なく/安全であるかどうかだけです。

それは実用的ではありませんが、それは単なる予防策です。

オンラインのチュートリアルの中には、ユーザー変数のPATH変数を持っている人もいれば、持っていない人もいることに気づきました。 PATH環境変数はシステム変数セクションでしか見つかりませんでした。それは悪いことですか?

私のPCの唯一のアカウントは管理者アカウントです。少なくとも、それが私が使用する唯一のアカウントです。

これについて明確にする/入力することはできますか?

8
ThatRandomGuy

通常、PATHにディレクトリを追加しても危険はありません。それは2つの方法でのみ問題を引き起こす可能性があります:

  1. コマンドプロンプトを使用しているときに、意図しないプログラムを誤って実行する可能性があります。繰り返しになりますが、PATHに配置したプログラムを知っていれば、悪意のあることは何も起こりません。
  2. プログラムは、通常はロードされないDLLをそこに見つける可能性があります。 DLL検索順序 は、要求されたDLLが通常の場所で見つからない場合、最終的にPATHの場所で検索されることを指定します。たとえば、プログラムがオプションでDLLを名前でロードしようとし、失敗しても気にしないことでモジュールをロードした場合、PATHフォルダーを制御している誰かがそれを引き起こす可能性があります。任意のDLLをロードするプログラム。名前の付いたものが検索の初期に見つからなかった場合。ちなみに、セキュリティの問題が発生する可能性があるため、DLLをロードしようとするのはお勧めできません。適切に作成されたプログラムでは、この問題は発生しません。

PATH変数の長さを最大にする も考えられますが、これは実際にはセキュリティの問題ではありません。

ユーザーPATH変数が見つからない場合:その変数のユーザーごとのバージョンを作成すると、効果的なPATHは、ユーザーごとのシステムと自動的に結合されるシステムになります。

8
Ben N