All local interactive user home directories defined in the /etc/passwd file must exist.

STIG ID: UBTU-18-010450  |  SRG: SRG-OS-000480-GPOS-00227 |  Severity: medium |  CCI: CCI-000366 |  Vulnerability Id: V-237768

Vulnerability Discussion

If a local interactive user has a home directory defined that does not exist, the user may be given access to the / directory as the current working directory upon logon. This could create a Denial of Service (DoS) because the user would not be able to access their logon configuration files, and it may give them visibility to system files they normally would not be able to access.

Check

Verify the assigned home directory of all local interactive users on the Ubuntu operating system exists.

Check the home directory assignment for all local interactive non-privileged users with the following command:

$ sudo awk -F: '($3>=1000)&&($7 !~ /nologin/){print $1, $3, $6}' /etc/passwd

smithj 1001 /home/smithj

Note: This may miss interactive users that have been assigned a privileged User ID (UID). Evidence of interactive use may be obtained from a number of log files containing system logon information.

Check that all referenced home directories exist with the following command:

$ sudo pwck -r

user 'smithj': directory '/home/smithj' does not exist

If any home directories referenced in "/etc/passwd" are returned as not defined, this is a finding.

Fix

Create home directories to all local interactive users that currently do not have a home directory assigned. Use the following commands to create the user home directory assigned in "/etc/ passwd":

Note: The example will be for the user smithj, who has a home directory of "/home/smithj", a User ID (UID) of "smithj", and a Group Identifier (GID) of "users assigned" in "/etc/passwd".

$ sudo mkdir /home/smithj
$ sudo chown smithj /home/smithj
$ sudo chgrp users /home/smithj
$ sudo chmod 0750 /home/smithj