getent

Check for entries in passwd file

Check for entries in passwd file:

getent passwd username >/dev/null 2>&1 && echo "user exists" || echo "user does not exist"

id username >/dev/null 2>&1 && echo "user exists" || echo "user does not exist"

awk -F':' '$1 ~ /^username$/ {print $0}' /etc/passwd  | grep -w username >/dev/null 2>&1 && echo "user exists" || echo "user does not exist"

getent to check user and group

To check is user or group exist in passwd and group file:

getent passwd <user_name>
getent group <group_name>

You could also grep the corresponding files, but this is a much cleaner way of getting entries from administrative database where database is one of aliases, ethers, group, hosts, netgroup, networks, passwd, protocols, rpc, services or shadow.

Comment