我正在使用 Fedora 13,我的 VLC 媒体播放器在过去一周一直显示此问题。我该如何纠正这个错误。
概括:
SELinux 阻止 /usr/bin/vlc 加载需要文本重定位的 /usr/lib/vlc/plugins/codec/libdmo_plugin.so。
详细说明:
vlc 应用程序尝试加载 /usr/lib/vlc/plugins/codec/libdmo_plugin.so ,这需要文本重定位。这是一个潜在的安全问题。大多数图书馆不需要此权限。图书馆有时编码不正确并请求此许可。 SELinux 内存保护测试 (http://people.redhat.com/drepper/selinux-mem.html) 网页解释了如何删除此要求。您可以临时配置 SELinux 以允许 /usr/lib/vlc/plugins/codec/libdmo_plugin.so 使用重定位作为解决方法,直到修复该库为止。请提交错误报告。
允许访问:
如果您相信 /usr/lib/vlc/plugins/codec/libdmo_plugin.so 能够正确运行,则可以将文件上下文更改为 textrel_shlib_t。 “chcon -t textrel_shlib_t '/usr/lib/vlc/plugins/codec/libdmo_plugin.so'” 您还必须更改系统上的默认文件上下文文件,以便即使在完全重新标记时也能保留它们。 “semanage fcontext -a -t textrel_shlib_t '/usr/lib/vlc/plugins/codec/libdmo_plugin.so'”
修复命令:
chcon -t textrel_shlib_t '/usr/lib/vlc/plugins/codec/libdmo_plugin.so'
附加信息:
源上下文 unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1 023 目标上下文 system_u:object_r:lib_t:s0 目标对象 /usr/lib/vlc/plugins/codec/libdmo_plugin.so [ file ] 源 vlc 源路径 /usr /bin/vlc 端口主机(已删除) 源 RPM 软件包 vlc-core-1.1.3-1.fc13 目标 RPM 软件包 vlc-core-1.1.3-1.fc13 策略 RPM selinux-policy-3.7.19-51.fc13 Selinux 已启用 True 策略类型 目标 执行模式 执行插件名称 allowed_execmod 主机名(已删除) 平台 Linux(已删除) 2.6.34.6-47.fc13.i686.PAE #1 SMP Fri Aug 27 09:29:49 UTC 2010 i686 i686 警报计数3 首次出现时间 2010 年 9 月 4 日星期六 08:26:05 PM IST 上次出现时间 2010 年 9 月 4 日星期六 08:35:40 IST 本地 ID 48840a90-fea4-403b-95a3-6cadc80b1a0a 行号
原始审核消息
节点=(已删除)类型=AVC msg=audit(1283612740.262:117):avc:拒绝{execmod} for pid=9594 comm=“vlc”路径=“/usr/lib/vlc/plugins/codec/libdmo_plugin.so” dev=sda2 ino=789070 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=文件
节点=(已删除)类型=SYSCALL msg=audit(1283612740.262:117):arch=40000003 syscall=125成功=无退出=-13 a0=4439000 a1=1e000 a2=5 a3=bfbe2480 items=0 ppid=1 pid= 9594 auid=500 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(无) ses=1 comm="vlc" exe="/usr/bin/vlc “ subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)
更新好吧,我现在在终端尝试过,但似乎没有发生任何事情。
[chandru.math@chandru ~]$ chcon -t textrel_shlib_t '/usr/lib/vlc/plugins/codec/libdmo_plugin.so
就这样停止了!
答案1
您是否运行了您发布的摘要中的修复命令?
sudo chcon -t textrel_shlib_t '/usr/lib/vlc/plugins/codec/libdmo_plugin.so'