我的目标是在mozilla_t
域中执行 Firefox而不是unconfined_t
. 该机器在强制模式下运行带有 SELinux 的 Fedora 20。
不幸的是,我似乎无法做到这一点。无论我做什么,进程总是在unconfined_t
域中执行。
我知道需要满足三个条件:
mozilla_exec_t
) 必须对源域 (unconfined_t
或bin_t
)可执行mozilla_exec_t
) 必须标记为目标域 ( mozilla_t
)的入口点unconfined_t
或bin_t
)转换到目标域(mozilla_t
)目标文件是/usr/bin/firefox
调用的 firefox 脚本/usr/lib64/firefox/run-mozilla.run
,它再次运行二进制文件/usr/lib64/firefox/firefox
。这是ls -Z
这些文件的输出:
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 /usr/bin/firefox
-rwxr-xr-x. root root system_u:object_r:bin_t:s0 /usr/lib64/firefox/run-mozilla.sh
-rwxr-xr-x. root root system_u:object_r:mozilla_exec_t:s0 /usr/lib64/firefox/firefox
Run Code Online (Sandbox Code Playgroud)
在第一个条件得到满足,作为unconfined_t
被允许执行目标文件上下文mozilla_exec_t
。
$ sesearch -s unconfined_t -t mozilla_exec_t …
Run Code Online (Sandbox Code Playgroud)