apparmor - ライブラリを読み込めません

apparmor - ライブラリを読み込めません

システムに AppArmor をセットアップしようとしているのですが、権限が拒否されたエラーを回避するのに問題があります:

ping: error while loading shared libraries: libcap.so.2: cannot stat shared object: Permission denied

これは私の ping のポリシーです:

#include <tunables/global>
/{usr/,}bin/ping {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>

capability net_raw,
capability setuid,
#network inet raw,

#network inet stream,
network icmp,

/bin/ping mixr,
/etc/modules.conf r,

# Site-specific additions and overrides. See local/README for details.
#include <local/bin.ping>

}

苦情モードでは、ライブラリのロードについて「苦情」を述べるログは表示されません。強制モードでのみ表示され、もちろん ping プログラムは動作しません。他のプロファイルでもこの​​エラーが発生するので、抽象化/ベース ファイルまたは調整可能/グローバル ファイルが正しいかどうか疑問に思っています。

私はこれを Funtoo (Gentoo) Linux で実行しています。

equery b libcap.so.2からの出力:

 * Searching for libcap.so.2 ... 
 sys-libs/libcap-2.25 (/usr/lib32/libcap.so.2 -> libcap.so.2.25)
 sys-libs/libcap-2.25 (/lib64/libcap.so.2 -> libcap.so.2.25)

また、syslog-ng でも同じ問題が発生していることにも注意してください。syslog ポリシーが強制モードになっていると、syslog は起動せず、libsyslog-ng-3.7.so.0 を開けないというメッセージが表示されます。

答え1

suse11sp3ではapparmorはsyslog-ngにファイルの読み取り権限を与えないので、/etc/apparmor.d/sbin.syslog-ngファイルを編集して権限を追加してください。

AppArmorを再起動する

service boot.apparmor restart

syslog-ngを再起動する

service syslog restart

関連情報