======6.2.18 Ensure no duplicate user names exist (Scored)====== =====Profile Applicability===== Level 1 - Server Level 1 - Workstation =====Description===== Although the ''useradd'' program will not let you create a duplicate user name, it is possible for an administrator to manually edit the ''/etc/passwd'' file and change the user name. =====Rationale===== If a user is assigned a duplicate user name, it will create and have access to files with the first UID for that username in ''/etc/passwd''. For example, if "test4" has a UID of 1000 and a subsequent "test4" entry has a UID of 2000, logging in as "test4" will use UID 1000. Effectively, the UID is shared, which is a security problem. =====Audit===== Run the following script and verify no results are returned: #!/bin/bash cat /etc/passwd | cut -f1 -d":" | sort -n | uniq -c | while read x ; do [ -z "${x}" ] && break set - $x if [ $1 -gt 1 ]; then uids=`awk -F: '($1 == n) { print $3 }' n=$2 /etc/passwd | xargs` echo "Duplicate User Name ($2): ${uids}" fi done =====Remediation===== Based on the results of the audit script, establish unique user names for the users. File ownerships will automatically reflect the change as long as the users have unique UIDs.