Ansible-Harden-Windows 项目教程
1. 项目目录结构及介绍
ansible-harden-windows/
├── defaults/
│ └── main.yml
├── files/
├── handlers/
│ └── main.yml
├── meta/
│ └── main.yml
├── tasks/
│ └── main.yml
├── templates/
├── tests/
│ ├── inventory/
│ ├── test.yml
│ └── vagrant/
│ └── Vagrantfile
└── vars/
└── main.yml
目录结构介绍
- defaults/: 包含默认变量配置文件
main.yml
,用于定义项目的默认配置。 - files/: 存放项目所需的静态文件。
- handlers/: 包含处理程序文件
main.yml
,用于定义在任务完成后需要执行的操作。 - meta/: 包含元数据文件
main.yml
,用于定义项目的依赖关系和其他元信息。 - tasks/: 包含任务文件
main.yml
,定义了项目的主要操作步骤。 - templates/: 存放模板文件,用于动态生成配置文件。
- tests/: 包含测试相关文件,包括测试配置文件
test.yml
和 Vagrant 配置文件Vagrantfile
。 - vars/: 包含变量文件
main.yml
,用于定义项目中使用的变量。
2. 项目启动文件介绍
项目的启动文件主要位于 tests/
目录下,特别是 tests/vagrant/Vagrantfile
文件。该文件用于配置和启动 Vagrant 虚拟机,以便进行项目的测试和部署。
Vagrantfile 文件介绍
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "windows"
config.vm.communicator = "winrm"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
end
config.vm.provision "ansible" do |ansible|
ansible.playbook = "test.yml"
ansible.inventory_path = "inventory/vagrant_ansible_inventory"
ansible.winrm_transport = "ssl"
ansible.winrm_server_cert_validation = "ignore"
end
end
启动步骤
- 进入
tests/vagrant/
目录。 - 运行
vagrant up
启动虚拟机。 - 运行
vagrant provision
进行项目配置。 - 运行
vagrant destroy
销毁虚拟机。
3. 项目的配置文件介绍
项目的配置文件主要位于 defaults/
和 vars/
目录下。
defaults/main.yml
win_security_PasswordComplexity: 1
win_security_LockoutBadCount: 4
win_security_ResetLockoutCount: 15
vars/main.yml
# 变量定义示例
example_variable: "example_value"
配置文件介绍
- defaults/main.yml: 定义了 Windows 系统的安全配置,如密码复杂度、账户锁定策略等。
- vars/main.yml: 定义了项目中使用的其他变量,可以根据需要进行自定义配置。
通过以上配置文件,可以灵活地调整项目的运行参数,以适应不同的环境和需求。