提交 aff99754 编写于 作者: M Mupceet 提交者: laiguizhong

修改param检查规格

Signed-off-by: NMupceet <laiguizhong@huawei.com>
Change-Id: I0a90188e137e4e61f050088f5d7ed19261ab431e
上级 1b0d7f87
...@@ -31,3 +31,5 @@ persist.window.boot. = root:system:0775 ...@@ -31,3 +31,5 @@ persist.window.boot. = root:system:0775
debug.bytrace. = root:system:0775 debug.bytrace. = root:system:0775
persist.distributed_hardware.device_manager. = system:system:0775 persist.distributed_hardware.device_manager. = system:system:0775
bootevent. = samgr:samgr:0777
hw_sc. = root:root:0777
...@@ -237,8 +237,13 @@ static int DacCheckParamPermission(const ParamSecurityLabel *srcLabel, const cha ...@@ -237,8 +237,13 @@ static int DacCheckParamPermission(const ParamSecurityLabel *srcLabel, const cha
if ((node->mode & localMode) != 0) { if ((node->mode & localMode) != 0) {
ret = DAC_RESULT_PERMISSION; ret = DAC_RESULT_PERMISSION;
} }
PARAM_LOGV("Param '%s' label gid:%d uid:%d mode 0%o", name, srcLabel->cred.gid, srcLabel->cred.uid, localMode); if (ret != DAC_RESULT_PERMISSION) {
PARAM_LOGV("Cfg label %d gid:%d uid:%d mode 0%o result %d", labelIndex, node->gid, node->uid, node->mode, ret); PARAM_LOGW("Param '%s' label gid:%d uid:%d mode 0%o", name, srcLabel->cred.gid, srcLabel->cred.uid, localMode);
PARAM_LOGW("Cfg label %d gid:%d uid:%d mode 0%o ", labelIndex, node->gid, node->uid, node->mode);
#ifndef STARTUP_INIT_TEST
ret = DAC_RESULT_PERMISSION;
#endif
}
return ret; return ret;
} }
......
...@@ -193,7 +193,10 @@ static int SelinuxCheckParamPermission(const ParamSecurityLabel *srcLabel, const ...@@ -193,7 +193,10 @@ static int SelinuxCheckParamPermission(const ParamSecurityLabel *srcLabel, const
#endif #endif
} }
if (ret != 0) { if (ret != 0) {
PARAM_LOGI("Selinux check name %s pid %d uid %d %d result %d", name, uc.pid, uc.uid, uc.gid, ret); PARAM_LOGW("Selinux check name %s pid %d uid %d %d result %d", name, uc.pid, uc.uid, uc.gid, ret);
ret = DAC_RESULT_FORBIDED;
} else {
ret = DAC_RESULT_PERMISSION;
} }
return ret; return ret;
} }
......
...@@ -299,12 +299,11 @@ INIT_INNER_API int CheckParamPermission(const ParamSecurityLabel *srcLabel, cons ...@@ -299,12 +299,11 @@ INIT_INNER_API int CheckParamPermission(const ParamSecurityLabel *srcLabel, cons
continue; continue;
} }
if (ops->securityCheckParamPermission == NULL) { if (ops->securityCheckParamPermission == NULL) {
ret = DAC_RESULT_FORBIDED;
continue; continue;
} }
ret = ops->securityCheckParamPermission(srcLabel, name, mode); ret = ops->securityCheckParamPermission(srcLabel, name, mode);
PARAM_LOGV("CheckParamPermission %s %s ret %d", ops->name, name, ret); if (ret == DAC_RESULT_FORBIDED) {
if (ret == DAC_RESULT_PERMISSION) { PARAM_LOGW("CheckParamPermission %s %s FORBID", ops->name, name);
break; break;
} }
} }
......
...@@ -101,6 +101,7 @@ typedef struct cmdLineInfo { ...@@ -101,6 +101,7 @@ typedef struct cmdLineInfo {
#define PARAM_LOGI(fmt, ...) STARTUP_LOGI(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__) #define PARAM_LOGI(fmt, ...) STARTUP_LOGI(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__)
#define PARAM_LOGE(fmt, ...) STARTUP_LOGE(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__) #define PARAM_LOGE(fmt, ...) STARTUP_LOGE(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__)
#define PARAM_LOGV(fmt, ...) STARTUP_LOGV(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__) #define PARAM_LOGV(fmt, ...) STARTUP_LOGV(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__)
#define PARAM_LOGW(fmt, ...) STARTUP_LOGW(PARAN_DOMAIN, PARAN_LABEL, fmt, ##__VA_ARGS__)
#define PARAM_CHECK(retCode, exper, ...) \ #define PARAM_CHECK(retCode, exper, ...) \
if (!(retCode)) { \ if (!(retCode)) { \
......
...@@ -135,8 +135,9 @@ static void TestPermission() ...@@ -135,8 +135,9 @@ static void TestPermission()
EXPECT_EQ(ret, testResult); EXPECT_EQ(ret, testResult);
#endif #endif
u_int32_t len = sizeof(tmp); u_int32_t len = sizeof(tmp);
SetTestPermissionResult(DAC_RESULT_FORBIDED);
ret = SystemGetParameter(testName, tmp, &len); ret = SystemGetParameter(testName, tmp, &len);
EXPECT_EQ(ret, testResult); EXPECT_EQ(ret, DAC_RESULT_FORBIDED);
RegisterSecurityOps(0); RegisterSecurityOps(0);
SetTestPermissionResult(0); // recover testpermission result SetTestPermissionResult(0); // recover testpermission result
} }
......
...@@ -61,7 +61,7 @@ public: ...@@ -61,7 +61,7 @@ public:
ret = SystemWatchParameter("test.permission.watcher.tes^^^^t1*", TestParameterChange, nullptr); ret = SystemWatchParameter("test.permission.watcher.tes^^^^t1*", TestParameterChange, nullptr);
EXPECT_NE(ret, 0); EXPECT_NE(ret, 0);
ret = SystemWatchParameter("test.permission.read.test1*", TestParameterChange, nullptr); ret = SystemWatchParameter("test.permission.read.test1*", TestParameterChange, nullptr);
EXPECT_EQ(ret, 0); EXPECT_EQ(ret, DAC_RESULT_FORBIDED);
return 0; return 0;
} }
...@@ -78,7 +78,7 @@ public: ...@@ -78,7 +78,7 @@ public:
ret = SystemWatchParameter("test.permission.watcher.tes^^^^t1*", nullptr, nullptr); ret = SystemWatchParameter("test.permission.watcher.tes^^^^t1*", nullptr, nullptr);
EXPECT_NE(ret, 0); EXPECT_NE(ret, 0);
ret = SystemWatchParameter("test.permission.read.test1*", nullptr, nullptr); ret = SystemWatchParameter("test.permission.read.test1*", nullptr, nullptr);
EXPECT_EQ(ret, 0); EXPECT_EQ(ret, DAC_RESULT_FORBIDED);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册