======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.