最近、Arch Linuxはすべてのアプリケーションを/ rootディレクトリにのみインストールし、他のディストリビューションは/homeディレクトリにインストールするオプションをユーザーに提供することに気づきました。
なぜですか?
フォローアップとして、これはマルウェアがルートディレクトリにインストールされ、オペレーティングシステム全体にアクセスできる場合、ユーザーのセキュリティが損なわれることを意味しますか? /homeにアプリケーションをインストールする方が良いでしょうか?人々はこの問題について心配する必要がありますか?
答え1
あなたの情報をどこで得たのかわかりません。
実際にアーチいいえこの/root
ディレクトリにすべてのアプリケーションをインストールします。バイナリはに位置し、他のコンテンツはなどに/usr/local/bin
位置する傾向があります。これは完全に正常です。ただし、複数のユーザーが使用するアプリケーションをそのフォルダにインストールしている場合は、そうしません。/usr/share
/usr/lib
/usr/local
/home
答え2
パッケージに含まれるファイルのシステムターゲットは、使用するパッケージマネージャの責任です。
私がいつも知っているすべてのパッケージマネージャ基本尊敬標準位置一部のパッケージには違いがあるかもしれません(/usrより/usr/localを好み、/binと/usr/bin /libと/usr/libを区別するか…区別しない)。
これデフォルトのデフォルトディレクトリこの階層(/)できるパッケージマネージャに応じて何とか変更してください。 パックマン(archlinuxのデフォルトパッケージマネージャ)は、次のコマンドを使用して起動できます-r オプション代替インストールルートディレクトリを指定します。
したがって、すべてのパッケージが/ rootにインストールされていて、それを望まない場合は、デフォルトの開始値を上書きしないでくださいpacman -r /root
。これらのパッケージを/ homeに明示的にインストールし、標準のpacman -r /home
場所に満足している場合は、デフォルトの場所を使用し、rオプションを使用しないでください。
セキュリティ上の理由から@カスコメントにこう書いています:
しかし、プログラムの場所は実際にはシステムセキュリティには影響しません(一般ユーザーが/ rootにアクセスできないため、一般ユーザーが/ rootにインストールされているソフトウェアを実行するのを防ぐことはできますが)。重要なのは、誰がそれを管理し、どのような権限を持っているかです。プログラムが通常のユーザーとして実行されている場合は、そのユーザーの権限のみを持ちます(setuidプログラムではない場合)。
さらに、/ rootをデフォルトディレクトリとして使用するには、pacman自体をrootとして実行する必要があるため、rootとしてプログラムを実行する際のすべてのセキュリティ影響にさらされる必要があります。