======6.2.16 Ensure no duplicate UIDs exist (Scored)======
=====Profile Applicability=====
Level 1 - Server
Level 1 - Workstation
=====Description=====
Although the ''useradd'' program will not let you create a duplicate User ID (UID), it is possible for an administrator to manually edit the ''/etc/passwd'' file and change the UID field.
=====Rationale=====
Users must be assigned unique UIDs for accountability and to ensure appropriate access protections.
=====Audit=====
Run the following script and verify no results are returned:
#!/bin/bash
cat /etc/passwd | cut -f3 -d":" | sort -n | uniq -c | while read x ; do
[ -z "${x}" ] && break
set - $x
if [ $1 -gt 1 ]; then
users=`awk -F: '($3 == n) { print $1 }' n=$2 /etc/passwd | xargs`
echo "Duplicate UID ($2): ${users}"
fi
done
=====Remediation=====
Based on the results of the audit script, establish unique UIDs and review all files owned by the shared UIDs to determine which UID they are supposed to belong to.