Cómo ver los usuarios en Linux
Listar usuarios en Linux es una tarea esencial de administración del sistema, sobre todo si varios desarrolladores trabajan en el mismo entorno de servidor privado virtual (VPS). Ayuda a simplificar la auditoría de cuentas y la gestión de permisos para garantizar una seguridad óptima.
En Linux, se lista a los usuarios aplicando comandos a través del Terminal, como cut, getent y awk. Sin embargo, estas utilidades tienen diferentes salidas, lo que las hace adecuadas para tareas y escenarios de gestión particulares.
Este artículo explicará cómo mostrar usuarios en un sistema operativo Linux utilizando distintos comandos. Exploraremos los requisitos previos y las mejores prácticas para garantizar una administración fluida del sistema.
Tabla de Contenidos
Requisitos previos para ver usuarios de Linux
Antes de listar usuarios de Linux, asegúrate de que tienes acceso a la interfaz de línea de comandos del sistema. Para máquinas remotas como un VPS, conéctate utilizando un cliente SSH como PuTTY, Terminal o la Terminal del navegador de Hostinger.
Además, debes iniciar sesión como usuario root, ya que gestionar todos los usuarios requiere un privilegio administrativo. Los usuarios del alojamiento web VPS de Hostinger pueden encontrar la información de acceso yendo a hPanel → VPS → Administrar → Acceso SSH.
¡Atención! Utiliza root con cuidado, ya que podrías ejecutar accidentalmente comandos Linux destructivos. Por seguridad, inicia sesión como otro usuario con privilegios administrativos y ejecuta los comandos con sudo en su lugar.
Cómo listar usuarios en Linux
En las distribuciones Linux, los usuarios son cuentas que pueden interactuar con el sistema operativo y gestionarlo. Se dividen en dos tipos: usuarios normales y usuarios del sistema.
Los usuarios del sistema se crean automáticamente cuando instalas el sistema operativo o un paquete. Mientras tanto, puedes crear una cuenta normal manualmente utilizando el comando useradd.
Aparte del origen, también tienen ID diferentes. Un usuario normal suele tener números de cuatro dígitos, mientras que la cuenta del sistema suele utilizar 1-999.
Todas las distribuciones de Linux almacenan todos los usuarios y su información en el archivo /etc/passwd, que consta de líneas con la siguiente sintaxis:
nombre_usuario:x:userID:groupID:userinfo:/homedir:/bin/bash
Cada línea representa una cuenta de usuario normal o de sistema. Esto es lo que significa:
- nombre_usuario: el nombre de la cuenta.
- x: la contraseña encriptada del usuario. El valor real está en /etc/shadow.
- userID: el número de identificación del usuario.
- groupID: el número de identificación del grupo al que pertenece el usuario.
- Userinfo: información extra sobre el usuario.
- /homedir: el directorio personal del usuario.
- /bin/bash: el shell de inicio de sesión por defecto del usuario.
Cómo listar usuarios de Linux con el comando cat
El comando cat o concatenate lee y combina el contenido de varios archivos. También te permite listar los usuarios en Linux imprimiendo las entradas del archivo /etc/passwd de esta forma:
cat /etc/passwd
Por defecto, este comando de Linux imprimirá todas las líneas, mostrando varios usuarios y sus detalles.
La consulta del archivo /etc/passwd mostrará tanto las cuentas normales como las del sistema, independientemente de su estado. Para listar todos los usuarios conectados, ejecuta en su lugar el comando users.
Cómo listar usuarios de Linux con el comando getent
El comando getent consulta las entradas de las bases de datos del sistema configuradas en /etc/nsswitch.conf, incluido passwd. Para listar todos los usuarios, introduce el siguiente comando:
getent passwd optional-user
Si especificas el usuario, getent mostrará información detallada sobre esa cuenta en concreto. De lo contrario, mostrará todos los usuarios de forma similar a la salida del comando cat.
También puedes utilizar gentent para consultar otras bases de datos, como group que contiene grupos del sistema. Además, esta utilidad es compatible con otros sistemas operativos UNIX.
Cómo listar usuarios de Linux con los comandos awk y cut para obtener una salida personalizada
Si sólo quieres mostrar los nombres de usuario, utiliza el comando awk. Esta utilidad de procesamiento de texto te permite establecer un carácter como delimitador para dividir cada línea del archivo /etc/passwd en varios campos.
Estableceremos los dos puntos (:) como delimitador utilizando la opción -F e imprimiremos la primera columna de cada línea, que sólo contiene los nombres de usuario:
awk -F':' '{ print $1}' /etc/passwd
También puedes hacerlo utilizando el comando cut. Funciona de forma similar a awk, pero tiene una sintaxis diferente:
cut -d: -f1 /etc/passwd
Aparte de los nombres de usuario, puedes utilizar el comando awk o cut para imprimir salidas personalizadas. Por ejemplo, si quieres listar todos los identificadores de usuario, ejecuta cualquiera de las siguientes opciones:
awk -F':' '{ print $3}' /etc/passwd
cut -d: -f3 /etc/passwd
Ambos comandos utilizan los dos puntos como delimitador e imprimen el tercer campo de cada línea, que contiene el identificador único de usuario.
Consejos para listar usuarios de Linux eficazmente
Para ayudarte a mejorar la eficacia de la administración de tu sistema, ten en cuenta las siguientes buenas prácticas a la hora de ver usuarios en Linux.
Combinar comandos con tuberías para un listado avanzado de usuarios
En un sistema Linux, una tubería (|) te permite pasar la salida de un comando a otra utilidad. Es útil para manipular datos e imprimir información específica.
Supongamos que quieres comprobar un número de identificación de usuario concreto. Puedes hacerlo imprimiendo todos los datos mediante cat y pasando la salida a grep para filtrarla. Éste es el aspecto del comando:
cat /etc/passwd | grep JohnDoe
El mismo comando también te permite comprobar si existe un usuario concreto.
También puedes combinar el comando awk con la utilidad find de Linux para recuperar todas las cuentas de usuario propietarias de un archivo:
find / -type f -exec stat -c "%U %n" {} + | awk '{print $1}' | sort -u
Utilizar una GUI para la gestión de usuarios
Si no estás familiarizado con los comandos, utiliza una interfaz gráfica de usuario (GUI) para listar y gestionar usuarios en un sistema basado en Linux. Aunque las distribuciones de escritorio la ofrecen por defecto, para un servidor necesitas una herramienta de terceros.
La utilidad basada en web más común para gestionar usuarios de sistemas Linux es un panel de control como Webmin, Virtualmin y Plesk. Aunque sus prestaciones varían, deberían ser suficientes para listar y gestionar usuarios.
Dependiendo de tu proveedor de alojamiento web, los pasos para instalarlos difieren.
En Hostinger, puedes hacerlo en unos pocos clics yendo a hPanel → VPS → Configuración → SO y Paneles → Sistema Operativo. Haz clic en SO con Panel de Control, selecciona una plantilla y pulsa Cambiar sistema operativo.
¡Atención! Si borras las cookies, saldrás de los sitios web visitados anteriormente. Por ello, te recomendamos que guardes tus datos de acceso antes de seguir este método.
Gestionar la información de los usuarios de forma segura
Una gestión adecuada de los usuarios es vital para la seguridad del sistema y la integridad de los datos. Aquí tienes varias tareas a tener en cuenta:
- Asigna privilegios mínimos: sólo concede privilegios de superusuario a un administrador del sistema Linux, para evitar que personas no autorizadas puedan ver la información de los usuarios.
- Establece permisos adecuados: limita los permisos de archivos y directorios importantes sólo a los usuarios autorizados, especialmente los que contengan datos personales.
- Aplica contraseñas seguras: asegúrate de que todos los usuarios normales y del sistema en el VPS utilizan contraseñas seguras con letras mayúsculas, números y símbolos.
- Audita regularmente a los usuarios: comprueba periódicamente todas las cuentas de usuario habituales de tu sistema para detectar las potencialmente maliciosas o comprometidas.
Escribir scripts Bash sencillos para tareas repetitivas
Las auditorías de seguridad requieren que visualices periódicamente a los usuarios para comprobar si hay alguno sospechoso.
En lugar de hacerlo manualmente, los administradores de sistemas Linux utilizan un script bash para automatizar el proceso.
Por ejemplo, puedes crear un script para listar todas las cuentas de usuario de un archivo TXT mediante la ejecución de un único comando. Después, utiliza una tarea cron para ejecutar la tarea automáticamente en un intervalo o programa específico.
Como el script variará en función de tu tarea, utiliza el Asistente con IA Kodee de Hostinger para generarlo automáticamente. Accede a esta herramienta haciendo clic en Kodee en la barra lateral de la página de resumen del VPS.
Conclusión
Listar los usuarios en un sistema Linux es crucial para la administración de servidores.
Puedes hacerlo mostrando el contenido del archivo /etc/passwd mediante el comando cat. Imprimirá todos los nombres de usuario con detalles como su ID, directorio personal por defecto y ruta de acceso al shell de inicio de sesión.
También puedes obtener el mismo resultado consultando la base de datos passwd con el comando getent. Mientras tanto, ejecuta awk -F o cut -d si quieres imprimir sólo los nombres sin detalles adicionales del usuario.
Además, canaliza la salida en otro comando para imprimir datos personalizados. Por ejemplo, añade el comando grep para filtrar entradas específicas o find para buscar propietarios de archivos.
También puedes instalar un panel de control como Webmin para gestionar fácilmente los usuarios con una interfaz gráfica.
En Hostinger, puedes instalarlo fácilmente utilizando una plantilla de panel de control a través de hPanel. También ofrecemos a Kodee que ayuda a generar scripts bash para automatizar las tareas repetitivas de administración del usuario.
Esperamos que esta guía te haya sido de utilidad. Si tienes algún comentario o pregunta, escríbela en la sección de abajo. ¡Buena suerte!
Descubre qué más puedes hacer en Ubuntu
Cómo listar paquetes en Ubuntu
Cómo instalar Git en Ubuntu
Cómo instalar Python Pip en Ubuntu
Cómo instalar un servidor FTP en Ubuntu
Ver usuarios en Linux – Preguntas frecuentes
Para ayudarte a entenderlo mejor, esta sección responderá a varias preguntas comunes sobre listar usuarios en Linux.
¿Cómo listar usuarios en Linux?
Puedes listar las cuentas de usuario en Linux utilizando los comandos cat /etc/passwd o getent passwd.
Para ver sólo los nombres de usuario, utiliza awk -F: ‘{ print $1 }’ /etc/passwd o cut -d: -f1 /etc/passwd.
Para encontrar los usuarios conectados actualmente, utiliza el comando users.
¿Puedo ver todos los usuarios y sus datos con un solo comando?
Sí, puedes mostrar todos los usuarios normales y del sistema ejecutando cat /etc/passwd.
También puedes utilizar el comando getent para obtener la información directamente de la base de datos passwd. La salida será idéntica con ambos comandos.
¿Qué opción muestra sólo el nombre de usuario al listar los usuarios?
Las opciones difieren según el comando. Utiliza -F con awk para imprimir sólo el nombre de usuario.
Separa cada línea de /etc/passwd en varios campos e imprime la primera columna. Puedes hacer lo mismo utilizando -d con la utilidad cut.
¿Hay alguna forma de ordenar alfabéticamente la lista de usuarios?
Sí, puedes ordenar la lista de usuarios alfabéticamente introduciendo la salida de los comandos awk, cut, getent o cat en la utilidad de ordenación.
Por defecto utilizará el orden descendente, pero puedes invertirlo utilizando la opción -r.