web-dev-qa-db-ja.com

buildrootからbusyboxを削除します

Linuxの一部としてhardeningbuildrootで作成されたファイルシステムからbusyboxを削除します。

しかし、それなしでシステムを起動できるかどうかはわかりません。

私はbusyboxに依存するinitファイルがあると確信しています。

busyboxなしで起動することは可能ですか、それともカスタムinitが必要ですか?

3
ransh

それはすべて、ディストリビューションが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つのバイナリを多くのバイナリに置き換えることになるので、これを実行してシステムを本当に強化しているかどうかを検討する必要があります。

5
garethTheRed

マスターテンプレート/ DebianVMのbusyboxを定期的に削除しています。

Debianに関しては、busyboxbusybox-staticpackagesの両方をインストールできないようにすることが問題です。

あなたはそれを持たないシステムではリカバリ/レスキューオプションがより制限されることに留意する必要があります。例えば私はそれを物理システム上に保持するかもしれませんが、スペースを節約するために標準フォームVMとして削除し、インストールされているソフトウェアの最小数を維持するというUnixの古いゴールデンルールの下で。

少なくともDebianについて言えば、アンインストールはバックグラウンドで必要な変更を加え、追加の手順を実行したり、何かをカスタマイズしたりする必要はありません。

3
Rui F Ribeiro