Ensure the Default Umask is Set Correctly For Interactive Users
An XCCDF Rule
Description
Remove the UMASK
environment variable from all interactive users initialization files.
Rationale
The umask controls the default access mode assigned to newly created files. A umask of 077 limits new files to mode 700 or less permissive. Although umask can be represented as a four-digit number, the first digit representing special access modes is typically ignored or required to be 0. This requirement applies to the globally configured system defaults and the local interactive user defaults for each account on the system.
- ID
- xccdf_org.ssgproject.content_rule_accounts_umask_interactive_users
- Severity
- Medium
- Updated
Remediation - Ansible
- name: Ensure interactive local users are the owners of their respective initialization
files
ansible.builtin.shell:
cmd: |-
for dir in $(awk -F':' '{ if ($3 >= 1000 && $3 != 65534) print $6}' /etc/passwd); do
for file in $(find $dir -maxdepth 1 -type f -name ".*"); do
Remediation - Shell Script
while IFS= read -r dir; do
while IFS= read -r -d '' file; do
if [ "$(basename $file)" != ".bash_history" ]; then
sed -i 's/^\(\s*umask\s*\)/#\1/g' "$file"
fi