ユーザースクリプトの一般的なアドバイスは、そのディレクトリを$PATH
次の場所に追加することです.profile
。
PATH="$PATH:$HOME/.myscripts" # or .bin or whatever
明らかに、これは前に追加するよりも安全です。PATH="$HOME/.myscripts:$PATH"
ただし、安全な方法で実行すると、同じ名前のシステムパッケージによってスクリプトが破棄されます。たとえば、スクリプト名をmount
またはとして指定すると、それを使用しようとすると予期しないことが発生します。import
多くの人がこれをバグではなく機能として見ることができることを知っています。しかし、個人的に私はスクリプト名を含む私がimport
望むように指定し、驚かずに実行するようにしたいと思います。
私が知る限り、既存のリスクは次のとおりです。
- ルートアクセスなどを行わずに悪質なスクリプトを再構築する可能性があります
ls
。 (しかし、これが標準の配布リポジトリからのみソフトウェアをインストールすると実際に問題になりますか?) - システムパッケージは他のシステムパッケージの代わりにユーザースクリプトを呼び出すことができます(ただし、
mount
実際には、ユーザーパッケージがフルパスなしで他のものを呼び出したことがありますか?悪い考えのようです)。
.profile
シングルユーザーシステムに via を追加する場合、セキュリティリスクはどれほど深刻ですか?
答え1
私はあなたがここで頭に釘を打ったと思います。
使用しようとすると予期しないことが発生します
標準コマンドを使用してsquatsという実行可能ファイルを作成すると、問題が発生します。しかし、それはあなたのコンピュータなので、最終的にあなたはそれで欲しいことをすることができ、ベストプラクティスなどを行うことができます。
必要なものを達成するためのより安全な方法は、PATHを追加の方法で設定し、スクリプトに「安全な」名前(たとえばjortstek_mount
)を指定してから、次の行に沿ってエイリアスまたは単純な関数をシェルプロファイルに追加することです。
mount() {
command jortstek_mount "$@"
}