diff --git a/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.py b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.py new file mode 100755 index 0000000..32abd09 --- /dev/null +++ b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.py @@ -0,0 +1,77 @@ + +import os +import sys + +################################ +# 常量 + +# for get_env_lang() +STR_GET_ENV_LANG_ZH = "语言环境为中文" +STR_GET_ENV_LANG_EN = "语言环境为英文" +STR_GET_ENV_LANG_UNKNOW = "语言环境未知" + +################################ +# 环境检查函数 + +def get_env_lang(): +# lang = os.getenv("LANG") +# if lang.startswith("zh"): +# return STR_GET_ENV_LANG_ZH +# elif lang.startswith("en"): +# return STR_GET_ENV_LANG_EN +# else: +# return STR_GET_ENV_LANG_UNKNOW +# + if arg_lang == "zh": + return STR_GET_ENV_LANG_ZH + elif arg_lang == "en": + return STR_GET_ENV_LANG_EN + else: + return STR_GET_ENV_LANG_UNKNOW + +def is_root(): + if os.geteuid() == 0: + print(STR_IS_ROOT_TRUE) + return True + else: + print(STR_IS_ROOT_FALSE) + return False + +################################ +# 辅助函数 +def l_print(zh_str, en_str) : + if STR_GET_ENV_LANG_ZH == get_env_lang() : + print(zh_str); + else : + print(en_str); + + +################################ +# 功能函数 +def etc_file(): + output1 = os.popen('ls -al /etc/hosts.allow 2>&1').read().strip() + output2 = os.popen('ls -al /etc/hosts.deny 2>&1').read().strip() + output3 = os.popen('ls -al /etc/passwd 2>&1').read().strip() + output4 = os.popen('ls -al /etc/shadow 2>&1').read().strip() + output5 = os.popen('ls -al /etc/group 2>&1').read().strip() + output6 = os.popen('ls -al /etc/gshadow 2>&1').read().strip() + output7 = os.popen('ls -al /etc/profile 2>&1').read().strip() + + + if "-rw-r--r--" in output1 and "-rw-r--r--" in output2 and "-rw-r--r--" in output3 and "-rw-r-----" in output4 and "-rw-r--r--" in output5 and "-rw-r-----" in output6 and "-rw-r--r--" in output7: + l_print("[OK] 测试通过", + "[OK] pass") + else: + l_print("[ERROR] 测试未通过", + "[ERROR] fail") + +################################ +# main +if __name__ == "__main__": + if len(sys.argv)>1: + arg_lang = sys.argv[1] + else: + arg_lang = 'zh' + + etc_file() + exit(0) diff --git a/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.yaml b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.yaml new file mode 100755 index 0000000..bc7cb50 --- /dev/null +++ b/data/BaseLine/LocalServices/TestingDepartmentPrivateUseCases/59/59系统重要文件的属主和权限应严格限定.yaml @@ -0,0 +1,22 @@ +FormatVer: 20230623 +Id: etc_file +Belong: baseline +SiteInfo: + Name: 59系统重要文件的属主和权限应严格限定 +Power : "root" +SiteRequests: + Implement: + ImArray: + - Inter : python3 + InterArgs : + Exec : 59系统重要文件的属主和权限应严格限定.py + Args : + Inter: + - "[ERROR]" + Condition: None +RepairArgs: + - Inter : python3 + InterArgs : + Exec : + Args : + RepairPower: #root # root权限或者普通用户权限