Yo diría que usted querría confiar /etc/passwd
y similares (por ejemplo, /etc/shadow
para sistemas basados en Shadow; en una nota al margen del tema, algunos sistemas similares podrían usar /etc/master.passwd
u otros archivos similares).
El /etc/passwd
se trata típicamente como la decisión de autoridad absoluta de si existe un usuario o no. Si usa cualquiera de los otros métodos descritos en esta página, y si esos otros métodos apuntan a un usuario existente pero /etc/passwd
no lo hace, entonces diría que el usuario no existe correctamente en el sistema, por definición del estándar más común que el software probablemente dependería de
Dicho esto, agregaré otra forma de agregar a la mezcla de algunas otras opciones que podrían usarse.
ls -l /home | grep ^customUserName$<BR>
echo $?
Claramente, reemplace "customuserName" con el nombre del usuario que desea verificar. Reemplace / home con / users si eso es lo que usa su sistema. Esto podría no encontrar a todos los usuarios en / etc / passwd si no se creó un directorio de inicio para el usuario en particular, lo que podría ocurrir si simplemente importó usuarios (es decir, líneas de texto a / etc / passwd) y si los directorios de inicio no hacerse a menos que / hasta que una persona inicie sesión.
if id -u "$1" >/dev/null 2>&1; then
...