Verify Group Who Owns /var/log/cloud-init.log* File
이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다.Description
To properly set the group owner of /var/log/cloud-init.log*
, run the command:
$ sudo chgrp adm /var/log/cloud-init.log*
or
$ sudo chgrp root /var/log/cloud-init.log*
Rationale
The /var/log/cloud-init.log*
file contains detailed debugging information that
helps users troubleshoot cloud-init and should only be accessed by authorized personnel.
Shell script
The following script can be run on the host to remediate the issue.
#!/bin/bash
if getent group "adm" >/dev/null 2>&1; then
newgroup="adm"
elif getent group "root" >/dev/null 2>&1; then
newgroup="root"
fi
if [[ -z ${newgroup} ]]; then
echo "adm and root is not a defined group on the system"
exit 1
fi
find -L /var/log/ -maxdepth 1 -type f ! -group adm ! -group root -regextype posix-extended -regex '.*cloud-init\.log.*' -exec chgrp -L $newgroup {} \;
Ansible playbook
The following playbook can be run with Ansible to remediate the issue.
- name: Check that the adm group is defined
getent:
database: group
key: adm
ignore_errors: true
when: file_groupowner_var_log_cloud_init_newgroup is undefined
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- name: Set the file_groupowner_var_log_cloud_init_newgroup variable if adm found
set_fact:
file_groupowner_var_log_cloud_init_newgroup: adm
when: ansible_facts.getent_group["adm"] is defined
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- name: Check that the root group is defined
getent:
database: group
key: root
ignore_errors: true
when: file_groupowner_var_log_cloud_init_newgroup is undefined
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- name: Set the file_groupowner_var_log_cloud_init_newgroup variable if root found
set_fact:
file_groupowner_var_log_cloud_init_newgroup: root
when: ansible_facts.getent_group["root"] is defined
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- name: Find /var/log/ file(s) matching .*cloud-init\.log.*
command: find -L /var/log/ -maxdepth 1 -type f ! -group adm ! -group root -regextype
posix-extended -regex ".*cloud-init\.log.*"
register: files_found
changed_when: false
failed_when: false
check_mode: false
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed
- name: Ensure group owner on /var/log/ file(s) matching .*cloud-init\.log.*
file:
path: '{{ item }}'
group: '{{ file_groupowner_var_log_cloud_init_newgroup }}'
state: file
with_items:
- '{{ files_found.stdout_lines }}'
tags:
- configure_strategy
- file_groupowner_var_log_cloud_init
- low_complexity
- low_disruption
- medium_severity
- no_reboot_needed