Top > pathの設定

広告

そんなところにやpathを通さないぜ。

実行ファイルなどは、pathが通っていないとフルパス(/から)か相対パス(カレントディレクトリを基準。例:../../bin/foo)で指定しないと使えません。
大抵、/binとか/usr/bin、/sbin、/usr/local/binなんかにpathが通っています。
もちろん実行ファイルだけでなくライブラリなどのpathもありますがここでは、実行ファイルについて述べます。
で、結論は余計な所にpathを通さないです。
ずーっと昔から言われていて、いまさらと思う方も多いと思いますが「入門」ってことでお許しを。
プログラムによっては通常pathが通っていないディレクトリにインストールされるので、そのときは注意しましょう。

どうして危険?

一番やばいのはpathに「.(カレントディレクトリ)」をいれてしまうことです。
と言うのも通常、pathが通っていない時はpathを指定しなくてはなりません。しかし、今いるディレクトリにあるプログラムを動かすのに「./program」とやるのはめんどうくさいだろうと、思ってカレントディレクトリにpathを通すと...
悪意のある人が「la」(ls -aに設定してあったりしますがここではタイプミスを想定)というプログラムを作り適当なディレクトリに置いておいたとします。
もし、そこでroot(あるはほかのユーザ)が「ls」と打とうとして「la」とタイプしてしまったらどうでしょう(あくまでも仮定です)?
そう、あやしい「la」というプログラムが動いてしまいます。
中身が「rm *.*」とか裏口を作る物だったりしたら大変です。
とまあそんなことが無いように(あまり無いが)、カレントディレクトリにpathは通さないようにしましょう。デフォルトでは入っていないので、自分で足さないようにしてください。

MSDOSとかWindowsなんかは、こんなことは気にしていないですが、あくまでも「シングルユーザーOS」なので。

ついでに

たとえば、普通のユーザが「自分が作った(ダウンロードした)プログラムが動かないんだけど」と言ったとします。
しかし、「どれどれ」と言って試しに実行するのは危険です。

特に直接言われていないとき(メールなど)は、内部に侵入した悪い人かも知れません。
これも、上の様な理由でそのプログラムが悪意のあるものである可能性があります。
また、送り付けられたプログラムなども同様です。
rootの人はいろいろな罠が待ち受けているので注意が必要です。


広告

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Thu, 05 Jan 2012 18:46:36 JST (4488d)