blog

コマンドのパス

Linux講座

2015.02.06

コマンドのパス

昨日授業を行っていて生徒さん達が理解に苦しんだ箇所について
私も復習の意味も含めて勉強します。

その部分と言うのが【コマンドのパス】という所。
俗に『パスを通す』なんて言い方もしますが、その辺のお話しです。

『パス』とは日本語で表すと『経路』なんて言い換えられますが
経路というよりかは、むしろコマンドを実行するプログラムがある場所
と考えた方がいいかもしれません。

例えばLinuxでは通常【useradd】コマンドを実行する際に、本当であれば
『/usr/sbin/useradd』と、絶対パス(そのコマンドのプログラムが置いてある場所)
で指定をしなくてはいけません。
ですが、実際はそのプログラム名(ファイル名)を指定するだけで実行できます。

これは、コマンドが置かれているディレクトリが【PATH】という環境変数に設定されているからなのです。
環境変数に設定されているディレクトリに置かれているコマンドをユーザが実行すると
シェルがそこまで探しに行ってくれるのです。とっても便利ですね。

このように、わざわざプログラムの場所を指定しなくとも実行できる状態の事を
『パスが通っている』と言い表します。
設定の仕方は、先ほど出てきましたPATHという環境変数に、パスを通したいディレクトリを指定するだけです。

ものぐさな方は『じゃあ何処かしこにでもPATHを設定してしまえば…』
と思うかもしれませんが、それはセキュリティ上大変危険なことなんです。

基本的にはPATHが通っているディレクトリは一般ユーザでは出入りしたり、
勝手にファイルを作成する事は出来ません。
もし、誰かが【ls】というファイルを作り、その中には悪意のあるプログラムが組まれていたとします。
そして、それをパスが通ってるディレクトリに配置した場合、
他の人間は意図せず実行してしまう可能性があるのです。
ですので、例え便利であったとしても様々な場所にパスを通すのではなく
安全なディレクトリを見極めて設定することが重要です。
そして、この文章の中に出てきた環境変数という言葉…
これもなんとなくでしか捉えて来なかったので、次回は環境変数に関してお勉強したいと思います!

 

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.