バイナリは/opt/local/bin/
、つまりtesseract
から使用できます
bin$ which tesseract
/opt/local/bin/tesseract
bin$ ls /opt/local/bin/tesseract
-rwxr-xr-x 1 root admin 28120 15 Sep 2016 /opt/local/bin/tesseract
bin$ ls /opt/local/ | grep bin
drwxr-xr-x 719 root admin 24446 6 Aug 19:55 bin
インストールにはSudoが必要
Sudo port install tesseract
bin$ which packer
/usr/local/bin/packer
bin$ ls /usr/local/bin/packer
lrwxr-xr-x 1 myuser admin 33 7 Aug 14:28 /usr/local/bin/packer -> ../Cellar/packer/1.2.5/bin/packer
bin$ ls /usr/local | grep bin
drwxrwxr-x 41 myuser admin 1394 7 Aug 14:28 bin
brew install packer
他のソフトウェアをトリミングして、これは私の$ PATH順序です:
/opt/local/bin #macports
/usr/local/bin #homebrew
/usr/bin #Apple binaries
https://Apple.stackexchange.com/a/26171 から、homebrewの前の/usr/local/bin
はroot書き込みのみで始まると信じています。
drwxr-xr-x 26 root wheel - 884 Oct 17 03:36 bin
これらの2つのアプローチに実際の違いはありますか? port
またはbrew
自体がハッキングされた場合はどうなりますか?インストールするパッケージがハッキングされた場合はどうなりますか?
ハッキングされたもののインストールは正しく終了しないことに気付いたので、brew/port
がOKで、インストールされたパッケージも破損していないと仮定します。システム?
/usr/local/bin
がワイドオープンであるかのように見え、そこにあるバイナリが実際にAppleプログラムの代わりになることができます。心配する必要がありますか?
私があなたの質問を正しく理解しているなら、それは要約すると:
Homebrewは、
/usr/local/bin
の権限をデフォルトのdrwxr-xr-x root wheel
から安全性の低いdrwxrwxr-x myuser admin
に変更します。リスクは何ですか?
ご指摘のとおり、ユーザー(またはadminグループのユーザー、または管理者として実行するように管理されているウイルス)は、デフォルトのシステムの上書きなどのソフトウェアをインストールできるようになりました。
これはどれほど大きな問題ですか?
他のユーザーがログインしているサーバーのようなマルチユーザーシステムでは、これは大きな問題になります。 Macにアクセスできませんが、私のLinuxボックスは十分に似ていると思います。 /usr/local/bin
は空です(置き換えるものはありません)。
$ echo $PATH
/usr/local/bin:/usr/bin:/home/mike/bin:/usr/local/sbin:/usr/sbin
したがって、他のユーザーが私と同じbash構成を持っていると想定すると、最初に/usr/local/bin
を探します。したがって、ls
という悪質なプログラムを/usr/local/bin
に配置すると、次回誰かがファイルシステムをナビゲートしようとしたときに、私のコードがユーザーアカウント内で実行されます。悪質な可能性は無限大です。
したがって、これはマルチユーザーサーバーの問題であることに同意します。
すべての意図と目的のために、ラップトップには1人のユーザーしかいません。 xkcdはこれを非常によく示しています :
攻撃者/マルウェア/などがすでにあなたのアカウントに侵入している場合、彼らはあなたのすべてのデータを持っています、あなたがSudo
パスワードを入力するキーログを記録するまで時間の問題なので、彼らがさらにインストールするかどうか本当に気にしますかマルウェアを/usr/local/bin
に入れるか、/home/myuser
に入れてパスに追加しますか?最終結果は同じです。