313 lines
12 KiB
Diff
313 lines
12 KiB
Diff
From c80d5bd5718c2d56bd8498ffae9b766f5a07f9c7 Mon Sep 17 00:00:00 2001
|
|
From: songmingliang <songmingliang@uniontech.com>
|
|
Date: Fri, 13 May 2022 18:11:36 +0800
|
|
Subject: [PATCH] modify password policy
|
|
|
|
---
|
|
tool/pwd_conf_update.c | 154 +++++++++++++++++++++--------------------
|
|
1 file changed, 78 insertions(+), 76 deletions(-)
|
|
|
|
diff --git a/tool/pwd_conf_update.c b/tool/pwd_conf_update.c
|
|
index ddcb130..3f90ee6 100644
|
|
--- a/tool/pwd_conf_update.c
|
|
+++ b/tool/pwd_conf_update.c
|
|
@@ -85,15 +85,15 @@ const _default_conf default_conf[] = {
|
|
[OS_EULER] =
|
|
{
|
|
.min_length = 8,
|
|
- .max_length = 510,
|
|
+ .max_length = 511,
|
|
.validate_policy = "1234567890;abcdefghijklmnopqrstuvwxyz;"
|
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ;!\"#$%&'()*+,-./"
|
|
- ":;<=>?@[\\]^_`{|}~/",
|
|
+ ":;<=>?@[\\]^_`{|}~",
|
|
.validate_required = 3,
|
|
.palindorme_num = 4,
|
|
.word_check = 1,
|
|
- .monotone_same_character_num = 3,
|
|
- .consecutive_same_character_num = 3,
|
|
+ .monotone_same_character_num = 0,
|
|
+ .consecutive_same_character_num = 0,
|
|
.first_letter_uppercase = 0,
|
|
},
|
|
};
|
|
@@ -247,15 +247,15 @@ int update_conf(OS_TYPE os_type) {
|
|
} else {
|
|
// 如果找到了该字段
|
|
// 如果是服务器版,强制覆盖配置
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
|
|
- // DEBUG("restore STRONG_PASSWORD");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset, "STRONG_PASSWORD = %s\n", "true");
|
|
+ DEBUG("restore STRONG_PASSWORD");
|
|
+ } else {
|
|
// 如果不是服务器版,则维持原配置
|
|
sprintf(append_string + offset,
|
|
"STRONG_PASSWORD = %s\n",
|
|
iniparser_getboolean(dic, "Password:STRONG_PASSWORD", false) ? "true" : "false");
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -265,18 +265,18 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].min_length);
|
|
DEBUG("set PASSWORD_MIN_LENGTH");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "PASSWORD_MIN_LENGTH = %d\n",
|
|
- // default_conf[os_type].min_length);
|
|
- // DEBUG("restore PASSWORD_MIN_LENGTH");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "PASSWORD_MIN_LENGTH = %d\n",
|
|
+ default_conf[os_type].min_length);
|
|
+ DEBUG("restore PASSWORD_MIN_LENGTH");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"PASSWORD_MIN_LENGTH = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:PASSWORD_MIN_LENGTH",
|
|
default_conf[os_type].min_length));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -286,38 +286,40 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].max_length);
|
|
DEBUG("set PASSWORD_MAX_LENGTH");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "PASSWORD_MAX_LENGTH = %d\n",
|
|
- // default_conf[os_type].max_length);
|
|
- // DEBUG("restore PASSWORD_MAX_LENGTH");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "PASSWORD_MAX_LENGTH = %d\n",
|
|
+ default_conf[os_type].max_length);
|
|
+ DEBUG("restore PASSWORD_MAX_LENGTH");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"PASSWORD_MAX_LENGTH = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:PASSWORD_MAX_LENGTH",
|
|
default_conf[os_type].max_length));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
if (iniparser_find_entry(dic, "Password:VALIDATE_POLICY") == 0) {
|
|
sprintf(append_string + offset,
|
|
- "VALIDATE_POLICY = \"%s\"\n",
|
|
+ "VALIDATE_POLICY = %s \n",
|
|
default_conf[os_type].validate_policy);
|
|
DEBUG("set VALIDATE_POLICY");
|
|
} else {
|
|
// char cmd[512];
|
|
// sprintf(cmd, "sed \"/^VALIDATE_POLICY.*/\"d -i %s", PASSWD_CONF_FILE_PATH);
|
|
// system(cmd);
|
|
- // sprintf(append_string + offset,
|
|
- // "VALIDATE_POLICY = \"%s\"\n",
|
|
- // default_conf[os_type].validate_policy);
|
|
- // DEBUG("set VALIDATE_POLICY after delete");
|
|
-
|
|
- char buff[512];
|
|
- get_validate_policy(buff);
|
|
- sprintf(append_string + offset, "VALIDATE_POLICY = %s\n", buff);
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "VALIDATE_POLICY = %s \n",
|
|
+ default_conf[os_type].validate_policy);
|
|
+ DEBUG("set VALIDATE_POLICY after delete");
|
|
+ } else {
|
|
+ char buff[512];
|
|
+ get_validate_policy(buff);
|
|
+ sprintf(append_string + offset, "VALIDATE_POLICY = %s\n", buff);
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -327,18 +329,18 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].validate_required);
|
|
DEBUG("set VALIDATE_REQUIRED");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "VALIDATE_REQUIRED = %d\n",
|
|
- // default_conf[os_type].validate_required);
|
|
- // DEBUG("restore VALIDATE_REQUIRED");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "VALIDATE_REQUIRED = %d\n",
|
|
+ default_conf[os_type].validate_required);
|
|
+ DEBUG("restore VALIDATE_REQUIRED");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"VALIDATE_REQUIRED = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:VALIDATE_REQUIRED",
|
|
default_conf[os_type].validate_required));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -348,18 +350,18 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].palindorme_num);
|
|
DEBUG("set PALINDROME_NUM");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "PALINDROME_NUM = %d\n",
|
|
- // default_conf[os_type].palindorme_num);
|
|
- // DEBUG("restore PALINDROME_NUM");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "PALINDROME_NUM = %d\n",
|
|
+ default_conf[os_type].palindorme_num);
|
|
+ DEBUG("restore PALINDROME_NUM");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"PALINDROME_NUM = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:PALINDROME_NUM",
|
|
default_conf[os_type].palindorme_num));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -367,14 +369,14 @@ int update_conf(OS_TYPE os_type) {
|
|
sprintf(append_string + offset, "WORD_CHECK = %d\n", default_conf[os_type].word_check);
|
|
DEBUG("set WORD_CHECK");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset, "WORD_CHECK = %d\n",
|
|
- // default_conf[os_type].word_check); DEBUG("restore WORD_CHECK");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset, "WORD_CHECK = %d\n",
|
|
+ default_conf[os_type].word_check); DEBUG("restore WORD_CHECK");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"WORD_CHECK = %d\n",
|
|
iniparser_getint(dic, "Password:WORD_CHECK", default_conf[os_type].word_check));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -384,18 +386,18 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].monotone_same_character_num);
|
|
DEBUG("set MONOTONE_CHARACTER_NUM");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "MONOTONE_CHARACTER_NUM = %d\n",
|
|
- // default_conf[os_type].monotone_same_character_num);
|
|
- // DEBUG("restore MONOTONE_CHARACTER_NUM");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "MONOTONE_CHARACTER_NUM = %d\n",
|
|
+ default_conf[os_type].monotone_same_character_num);
|
|
+ DEBUG("restore MONOTONE_CHARACTER_NUM");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"MONOTONE_CHARACTER_NUM = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:MONOTONE_CHARACTER_NUM",
|
|
default_conf[os_type].monotone_same_character_num));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -405,18 +407,18 @@ int update_conf(OS_TYPE os_type) {
|
|
default_conf[os_type].consecutive_same_character_num);
|
|
DEBUG("set CONSECUTIVE_SAME_CHARACTER_NUM");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset,
|
|
- // "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
|
|
- // default_conf[os_type].consecutive_same_character_num);
|
|
- // DEBUG("restore CONSECUTIVE_SAME_CHARACTER_NUM");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset,
|
|
+ "CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
|
|
+ default_conf[os_type].consecutive_same_character_num);
|
|
+ DEBUG("restore CONSECUTIVE_SAME_CHARACTER_NUM");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"CONSECUTIVE_SAME_CHARACTER_NUM = %d\n",
|
|
iniparser_getint(dic,
|
|
"Password:CONSECUTIVE_SAME_CHARACTER_NUM",
|
|
default_conf[os_type].consecutive_same_character_num));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -424,14 +426,14 @@ int update_conf(OS_TYPE os_type) {
|
|
sprintf(append_string + offset, "DICT_PATH = %s\n", "");
|
|
DEBUG("set DICT_PATH");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset, "DICT_PATH = %s\n", "");
|
|
- // DEBUG("restore DICT_PATH");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset, "DICT_PATH = %s\n", "");
|
|
+ DEBUG("restore DICT_PATH");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"DICT_PATH = %s\n",
|
|
iniparser_getstring(dic, "Password:DICT_PATH", ""));
|
|
- // }
|
|
+ }
|
|
}
|
|
offset = strlen(append_string);
|
|
|
|
@@ -439,15 +441,15 @@ int update_conf(OS_TYPE os_type) {
|
|
sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
|
|
DEBUG("set FIRST_LETTER_UPPERCASE");
|
|
} else {
|
|
- // if (OS_SERVER == os_type) {
|
|
- // sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
|
|
- // DEBUG("restore FIRST_LETTER_UPPERCASE");
|
|
- // } else {
|
|
+ if (OS_EULER == os_type) {
|
|
+ sprintf(append_string + offset, "FIRST_LETTER_UPPERCASE = %s\n", "false");
|
|
+ DEBUG("restore FIRST_LETTER_UPPERCASE");
|
|
+ } else {
|
|
sprintf(append_string + offset,
|
|
"FIRST_LETTER_UPPERCASE = %s\n",
|
|
iniparser_getboolean(dic, "Password:FIRST_LETTER_UPPERCASE", false) ? "true"
|
|
: "false");
|
|
- // }
|
|
+ }
|
|
}
|
|
|
|
DEBUG("append string :%s", append_string);
|
|
@@ -491,4 +493,4 @@ int main(int argc, char **argv) {
|
|
}
|
|
|
|
return 0;
|
|
-}
|
|
\ No newline at end of file
|
|
+}
|
|
--
|
|
2.27.0
|
|
|