在開發中,我們經常會遇到由于SELinux造成的各種權限不足,即使擁有“萬能的root權限”,也不能擷取全部的權限,是以怎麼樣關閉selinux權限呢
system/core/init/selinux.cpp
bool IsEnforcing() {
{
int fd(open("/mboot/selinux", O_RDONLY | O_CLOEXEC | O_BINARY));
if (fd != -1) {
char v = 0xff;
if (read(fd, &v, 1) < 0)
PLOG(ERROR) << "Failed to read /mboot/selinux";
close(fd);
LOG(WARNING) << "/mboot/selinux is " << v;
return v == '1';
}
}
if (ALLOW_PERMISSIVE_SELINUX) {
return StatusFromCmdline() == SELINUX_ENFORCING;
}
return true;
}
直接return true;就表示關閉selinux權限
2. selinux.cpp isenfocing 強制設定為0
void SelinuxInitialize() {
Timer t;
LOG(INFO) << "Loading SELinux policy";
if (!LoadPolicy()) {