./binを追加するのは悪い考えです。

./binを追加するのは悪い考えです。

./binこれを私のPATH環境に追加するのがなぜ本当に悪い考えなのかわかりません。

私は通常、bin作業中のプロジェクトにフォルダを作成しますが、フォルダがあるディレクトリにあり、そのフォルダに実行可能ファイルが含まれている限り、これを行うのは嫌いです。その後、bashはbin/commandまともなフォルダを選択します。commandbinbincommand

説得力が必要です:D

ベストアンサー1

$HOME/bin一般的../binセキュリティリスクと見なされます。

この$HOME/bin問題の場合、一部の「クラッカー」はいくつかのスクリプト(例えば、nanoというスクリプト)をそのディレクトリにプッシュし、そのようなスクリプトを実行してすぐにsudo nano /etc/hostsrootアクセス権を取得するのを待ちます(nanoをvi、emacsなどに変更します) 、コマンドは実行されません)。実行できるペイロードのみが重要です)。

.との場合、./binまだ同じ問題が発生します。無効なディレクトリで実行される追加プログラムを追加します。

これらの ./bin/commands が /usr/local/bin (新しいローカル スクリプトに好ましいソリューション) とは異なるディレクトリにある場合、これは別の操作を実行するためです。間違って実行するとどうなりますか?

コマンドに同じ方法で名前を付けると(最初に呼び出してから、更新、コミット、クリーンアップなど)、ディレクトリで作業でき、1つの呼び出しを受け取り、すぐに確認するために別の呼び出しに切り替えます。電話を切ると、脳はやっていたことを再開しようとします。ほとんどの場合、クイック "cd"を実行したことを忘れて(特に画面上のすべてのエントリが正しいディレクトリを指しているように見える場合)、間違ったパスで終わります。コマンドのディレクトリ(たとえば、1ヶ月間すべての操作を消去するクリーンアップスクリプト)。

これは無邪気な間違いのように見えるかもしれませんが、毎日多くの人に起こるものです! :)

良い回避策(またはより良い解決策)は、エイリアスを使用することです。

alias proj1-cleanup=/srv/proj1/bin/cleanup

正しいスクリプトを追加して、cd正しいディレクトリで実行されていることを確認してください。

これにより、$HOME/.alias必要なさまざまなスクリプトを追加することで、さまざまなコマンドを使用してさまざまな操作を実行できます。誰かがブラウザをハックしてファイルを生成した場合、または$HOME/bin/ls一部のローカルユーザーがディレクトリにbin / lsファイルを生成しても、これらのファイルは決して実行されません。パスはまだ正しいコマンドを指します。

しかし、これは個人的な選択です。ローカルのリスクが何であるか、コマンドが何をしているのかを知っています。

おすすめ記事