← All rules
SOCLE-CLD-FSP-135// File permissionsmediuminventory state

Verify Permissions on group File

Ensures /etc/group is not writable by group or other and carries no executable, setuid, setgid or sticky bits (expected mode 0644 root:root).

Checked against what is installed or registered, packages present/absent, account databases.

A pass proves✓ running now✓ on disk✓ survives rebootthe qualified verdict →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04
One check, maps to 4 standards

A mapping is a cross-reference to where each standard places this requirement, anchored and cross-validated, not a claim of equivalence. A passing check is evidence toward these references, how to read it.

Why this rule matters

/etc/group defines the groups and their memberships that drive much of the system's access control. It is world-readable by design (programs resolve group names), but it must not be writable by group or other: anyone who can write it could add themselves to sudo, wheel, docker or shadow and escalate to root. Restricting writes to root preserves the integrity of group-based authorization.

What Pavois checks

Pavois reads the real inode permissions of /etc/group with the InSpec file resource (a stat), under only_if. World-read is allowed (the file is meant to be readable), but group-write, other-write, and any execute/setuid/setgid/sticky bit fail the rule, effectively requiring 0644 root:root. Checking the live permissions catches a chmod mistake or a bad backup restore that a packaged-default assumption would not.

only_if { file('/etc/group').exist? }
describe file('/etc/group') do
  it { should_not be_executable.by('owner') }
  it { should_not be_setuid }
  it { should_not be_executable.by('group') }
  it { should_not be_writable.by('group') }
  it { should_not be_setgid }
  it { should_not be_executable.by('other') }
  it { should_not be_writable.by('other') }
  it { should_not be_sticky }
end

How to verify it is applied

Run stat -c '%a %U %G' /etc/group. Expected output is mode 644 owned by root root, i.e. 644 root root. Any group-write, other-write or special bit fails the rule.

Inspect & investigate

Group changes are normally made via groupadd/gpasswd/usermod, which log to /var/log/auth.log (Debian/Ubuntu) or /var/log/secure (RHEL). Use getent group to list the effective groups and stat /etc/group to confirm permissions. If auditd watches /etc/group, edits appear in /var/log/audit/audit.log.

Remediation

No automated remediation is defined, so apply it manually: chmod u-x,g-wx,o-wx /etc/group && chown root:root /etc/group (target 0644 root:root). No service restart is needed; new logins immediately see the corrected permissions.

Pavois applies this with its own harden engine, the plan below, not a shell script:

mode0644
path/etc/group
resourcefile
pavois harden plan local

where the target is local, a user@host SSH alias, or a container , Docs

Impact & precautions

Restoring 0644 root:root is very low-risk, this is the standard mode every tool expects. Do not remove world-read: utilities like ls -l and id resolve group names through it, and stripping read can break name resolution and logins. Keep the owner root. There is no lockout risk from removing group/other write. Leaving the file writable by non-root is a direct privilege-escalation path.

Standards mapping

StandardReferenceTypeVersionConfidence
ANSSI BP-028R50direct2.0high
CIS2.2.6, 7.1.3directper OS, see the benchmark tablehigh
NISTAC-6(1), CM-6(a)supporting800-53 Rev 5 · 800-171 Rev 2 (pinned)medium
PCI DSS2.2.6supporting4.0.1medium

Each reference is a cross-reference anchored in the upstream benchmark and cross-validated against the SCAP Security Guide and ansible-lockdown, not a claim of equivalence. Direct = a prescriptive, line-level requirement; supporting = an abstract control family (NIST) the check provides evidence toward. How to read a mapping.

Sources & references