Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ansible CIS强化1.1.6确保/var存在单独的分区_Ansible_Molecule - Fatal编程技术网

Ansible CIS强化1.1.6确保/var存在单独的分区

Ansible CIS强化1.1.6确保/var存在单独的分区,ansible,molecule,Ansible,Molecule,我一直在使用Ansible、Molecular on Vagrant在CentOS8上自动执行CIS基准指南。我一直在引用回购协议的ansible脚本,例如,并且在“1.1.6确保/var存在单独的分区”这一点上遇到了问题 运行命令,例如shell:mount | grep“on/var”似乎并没有为/var创建单独的分区,运行mount | grep-E'/var'返回sunrpc on/var/lib/nfs/rpc_pipefs类型rpc_pipefs,而不是预期的/dev/xvdg1 o

我一直在使用Ansible、Molecular on Vagrant在CentOS8上自动执行CIS基准指南。我一直在引用回购协议的ansible脚本,例如,并且在“1.1.6确保/var存在单独的分区”这一点上遇到了问题

运行命令,例如
shell:mount | grep“on/var”
似乎并没有为/var创建单独的分区,运行
mount | grep-E'/var'
返回
sunrpc on/var/lib/nfs/rpc_pipefs类型rpc_pipefs
,而不是预期的
/dev/xvdg1 on/var类型xfs(rw,relatime,data=ordered)

我曾尝试在ansible上使用
parted
自动为/var创建分区,但总是收到一条错误消息,即分区太小


如何确保/var位于单独的分区上?

要获取正确的路径,请运行:

mount | grep-E“(^ |)/var(|$)”

挂载| grep-E“(^ |\s)/var(\s |$)”


法规遵从性有两个步骤,它们是迭代重复的。首先应用强化配置。然后回顾/扫描。重复上述步骤,直到没有发现

配置阶段: 要确保将
/var
装入一个单独的分区,您需要将原始
/var
移动到另一个文件夹(例如
/var\u old
)构建一个新分区,将其装入
/var
,并将内容从
/var\u old
移动到
/var
。最好在系统引导到live CD时执行此操作。实际上,最好从一开始就这样构建系统

审查/扫描阶段:
与其他答案中的建议类似:

mount | grep -E "(\s)/var(\s)"
我应该做这项工作。关键区别在于正则表达式“(\s)/var(\s)”`

这意味着
/var
前后都有空格。使用
mount
命令,这是一个空格

您也可以对/etc/fstab使用相同的表达式<代码>grep-E“(\s)/var(\s)”/etc/fstab

装载进行Grepping不会告诉您装载是持久的还是临时的。根据
/etc/fstab
进行Grepping不会告诉您装载是否工作且处于活动状态。如果您这样做是为了法规遵从性,请确保使用CIS指南中建议的测试

所以你的问题似乎是如何测试合规性,但如果你真的想知道如何合规,我也列出了


您也可以编写ansible playbook来完成配置部分,但是在系统处于活动状态时尝试移动/var将非常复杂,不值得这么麻烦……除非您需要为数百个系统执行此操作。在这种情况下,我的建议是编写重新安装所有系统所需的剧本,并将/var、和/var/log/audit、和/tmp和/home都放在单独的分区上。完成这项工作后,恭喜您,您已经在组织中建立了作为代码的基础架构。另一种选择是自动化我上面列出的流程。可行,但您必须手动启动到live CD或网络映像,或者至少是恢复模式。

您是否知道
ansible\u挂载
hostvar,其中包含
mount
键?我不熟悉ansible\u挂载。搜索它只会显示关于变量的文档。您是否介意解释或了解有关使用ansible_挂载的任何文档或教程?@bryan以下命令应该可以让您开始探索本地主机挂载,例如=>
ansible localhost-m setup-a filter=ansible_挂载