Linuxの一部としてhardeningbuildrootで作成されたファイルシステムからbusyboxを削除します。
しかし、それなしでシステムを起動できるかどうかはわかりません。
私はbusyboxに依存するinitファイルがあると確信しています。
busyboxなしで起動することは可能ですか、それともカスタムinitが必要ですか?
それはすべて、ディストリビューションがinit
にBusyboxを使用しているかどうかによって異なります。
正しい方向に向けるには、ls -l /sbin/init
を実行します。
次のようなものを取得した場合(OpenWRTの例):
~# ls -l /sbin/init
-rwxr-xr-x 1 root root 10824 Jan 31 2016 /sbin/init
つまり、init
は別のアプリケーションであり、Busyboxを削除できる可能性があります。 Busyboxには、正常に起動するために必要な多くのツールが用意されているため、init
が必要とするすべてのコマンドを代替で置き換える必要があります。
ただし、取得した場合(Alpine Linuxの例):
~$ ls -l /sbin/init
lrwxrwxrwx 1 root root 12 May 3 04:49 /sbin/init -> /bin/busybox
これは、Busyboxによってinit
が提供されており、Busyboxのinit
を代替のものに置き換えられない限り、起動できないことを意味します。
1つのバイナリを多くのバイナリに置き換えることになるので、これを実行してシステムを本当に強化しているかどうかを検討する必要があります。
マスターテンプレート/ DebianVMのbusyboxを定期的に削除しています。
Debianに関しては、busybox
とbusybox-static
packagesの両方をインストールできないようにすることが問題です。
あなたはそれを持たないシステムではリカバリ/レスキューオプションがより制限されることに留意する必要があります。例えば私はそれを物理システム上に保持するかもしれませんが、スペースを節約するために標準フォームVMとして削除し、インストールされているソフトウェアの最小数を維持するというUnixの古いゴールデンルールの下で。
少なくともDebianについて言えば、アンインストールはバックグラウンドで必要な変更を加え、追加の手順を実行したり、何かをカスタマイズしたりする必要はありません。