Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a93846f56f |
+27
-2
@@ -447,8 +447,8 @@ class BaselineChecker:
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='OpenRuyi系统安全基线检查工具')
|
||||
parser.add_argument('-c', '--config', required=True,
|
||||
help='YAML规则配置文件路径或配置目录,例如: checks/ 或 high_security.yaml')
|
||||
parser.add_argument('-c', '--config', default=None,
|
||||
help='YAML规则配置文件路径或配置目录 (默认: 先查找当前目录rules,再查找/etc/baseline_checker/rules)')
|
||||
parser.add_argument('-l', '--level', choices=['low', 'medium', 'high'], default='high',
|
||||
help='安全等级 (默认: high)')
|
||||
parser.add_argument('-f', '--fix', action='store_true',
|
||||
@@ -460,6 +460,31 @@ def main():
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# 如果没有指定config参数,自动查找默认路径
|
||||
if args.config is None:
|
||||
# 先查找当前目录下的rules目录
|
||||
current_rules = Path('rules')
|
||||
if current_rules.exists() and current_rules.is_dir():
|
||||
args.config = str(current_rules)
|
||||
else:
|
||||
# 如果不存在,查找/etc/baseline_checker/rules
|
||||
etc_rules = Path('/etc/baseline_checker/rules')
|
||||
if etc_rules.exists() and etc_rules.is_dir():
|
||||
args.config = str(etc_rules)
|
||||
else:
|
||||
# 如果都不存在,尝试/etc/baseline_checker(兼容旧版本)
|
||||
etc_config = Path('/etc/baseline_checker')
|
||||
if etc_config.exists():
|
||||
args.config = str(etc_config)
|
||||
else:
|
||||
print("错误: 未找到配置文件目录")
|
||||
print(" 请确保以下路径之一存在:")
|
||||
print(f" - {current_rules.absolute()}")
|
||||
print(f" - {etc_rules}")
|
||||
print(f" - {etc_config}")
|
||||
print(" 或使用 -c 参数指定配置文件路径")
|
||||
sys.exit(1)
|
||||
|
||||
# 检查配置文件或目录是否存在
|
||||
config_path = Path(args.config)
|
||||
if not config_path.exists():
|
||||
|
||||
Reference in New Issue
Block a user