共有ライブラリ (
*.so
) は,
プログラムの実行時に
ld.so
によって自動的にリンクされるオブジェクトです.
しかし,
SELinux を使用していると,
error while loading shared libraries: *.so:
cannot restore segment prot after reloc: Permission denied
といったエラーが出ることがあります.
例えば,
Firefox などのようにバイナリをダウンロードし展開して使用すると,
このようなエラーに遭遇することがあるでしょう.
このときには,
chcon
を使用して,
問題の共有ライブラリのセキュリティコンテキストの種類を
textrel_shlib_t
に変更しましょう.
chcon -t textrel_shlib_t *.so
もし, 共有ライブラリがたくさんあるのであれば,
find
を使用して,
find -name '*.so*' | xargs echo chcon -t textrel_shlib_t
とすると, サブディレクトリにある共有ライブラリのセキュリティコンテキストも変えることができます.
0 件のコメント:
コメントを投稿