linux centos8

CENTOS8 COMANDOS UTILES

Listar todos los usuarios

Listar usuarios es un primer paso para administrarlos. De esta forma conoceremos cuantos usuarios hay y quienes son. En Linux, casi todo puede ser hecho de varias formas y esto no es una excepción.

Para listar todos los usuarios, usted puede utilizar el comando cat:

$ cat /etc/passwd

 

2- Luego, una representación de la contraseña encriptada (los caracteres x). la contraseña encriptada es almacenada en /etc/shadow file.

3- El UID o el ID del usuario.

4- El próximo campo se refiere a el grupo primario de usuarios.

5- Luego, muestra la información de la ID del usuario como la dirección, correo electrónico, etc.

6- Luego de esto, usted observara el directorio principal del usuario.

7- El ultimo campo es la Shell utilizada por ese usuario.

Sin embargo, aunque la información es bastante útil, pero si solo quiere listar el nombre de los usuarios en una forma básica, usted puede utilizar este comando:

$ cut -d: -f1 /etc/passwd

 

Listar & ordenar usuarios por nombre

El comando anterior sirve al propósito de listar usuarios en Linux. Pero y ¿que para listar los usuarios en orden alfabético?

Para hacer esto, utilizaremos los comandos previos, pero agregaremos el comando ordenar.

Por lo que el comando será como este:

$ cut -d: -f1 /etc/passwd | sort

Listas de usuarios Linux sin contraseña

Es importante conocer los usuarios que no tienen contraseña y tomar las acciones apropiadas. Para listar los usuarios que no tienen contraseña, solo utilice el siguiente comando:

$ sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'

Listas de usuarios por uso de disco

Si usted tiene un gran directorio y quiere conocer cual usuario está inundándolo, usted puede utilizar el comando du para obtener el uso de disco.

Con esto, puede detectar cuál de estos usuarios está utilizando de forma incorrecta el espacio de disco.

Para ello, es suficiente con utilizar el siguiente comando:

$ sudo du -smc /home/* | sort -n

Lista de los usuarios conectados actualmente

Para listar a los usuarios conectados actualmente, tenemos varias formas de hacerlo. Para el primer método podemos utilizar el comando usuarios:

$ users

Listará los usuarios con una sesión abierta en el sistema.

Pero esta información es un poco básica, sin embargo, tenemos otro comando que da más detalles. El comando es simplemente w.

$ w

Con este comando, podemos tener más información como el tiempo exacto cuando la sesión fue iniciada y la sesión terminal que tiene disponible.

Finalmente, existe un comando llamado who. Está disponible para toda la familia Unix. Por lo que puede utilizarlo en otro sistema como FreeBSD.

$ who

Con el comando who, también tenemos alguna información acerca de los usuarios conectados actualmente. Por supuesto, podemos agregar la opción -a y mostrar todos los detalles.

$ who -a

Lista Linux de usuarios recientemente conectados en el sistema

Vimos cómo obtener los usuarios conectados actualmente, pero ¿qué acerca de listar el historial de conexión de los usuarios?

Usted puede utilizar el comando last para obtener más información acerca de los inicios de sesión que tuvieron lugar:

$ last

O los inicios de sesión de un usuario en particular

$ last [username]

Listas de inicios de sesión de usuarios en una hora o día especifico

¿Qué hay de listar los inicios de sesión de los usuarios en una fecha u hora específica? Para ello utilizamos el último comando, pero con el parámetro -t:

$ last -t YYMMDDHHMMSS
 

Por ejemplo:

$ last -t 20190926110509

Lista de todos los usuarios en un grupo

Existen 2 tipos formas para listar los miembros de un grupo en Linux, la forma más fácil y más directa de obtener los usuarios del archivo /etc/group de esta manera:

$ cat /etc/group | grep likegeeks
 

Este comando listará a los usuarios en el grupo likegeeks.

La otra forma es utilizando comandos como los comandos members en distros basados en Debian. Sin embargo, no está instalado por defecto en las distribuciones Linux.

Para instalar en Ubuntu/ Linux Mint19, solo utilice APT:

$ sudo apt install members
 

O en caso de CentOS:

$ sudo dnf install members
 

Una vez instalado, usted puede correr el comando luego el nombre del grupo de que quiere listar los usuarios:

$ members [group_name]
 

Por ejemplo:

$ members avahi
 

Usando el comando members

De esta forma puede listar usuarios de un grupo en un distro basado en Debian. ¿Que hay sobre un Redhat basado en distro como CentOS?

Puede utilizar el siguiente comando:

$ getent group likegeeks
 

 

Listar usuario con UID

En sistemas Unix, cada usuario tiene un identificador de usuario o ID. El sirve para manjar y administrar cuentas internamente en el sistema operativo.

Generalmente, UIDs de o a 1000 son para usuarios de sistemas. Y de allí en adelante para usuarios regulares. Siempre en sistemas Unix, UID cero pertenece a los usuarios raíz (puede tener más de un usuario con UID cero).

Por lo que, ahora listaremos los usuarios con sus respectivos UID utilizando awk.

El comando que realiza la tarea es el siguiente:

$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
 

Lista de usuarios con el UID

Como puede ver, cada usuario con su UID

 

Lista de usuarios raíz

En un sistema como Unix como Linux, existe usualmente un usuario raíz. Si existen varios, ¿cómo listarlos?

Para hacer esto, podemos utilizar este comando:

$ grep 'x:0:' /etc/passwd
 

Lista de usuarios raíz

Aquí estamos filtrando el archivo para obtener usuarios con UID de cero (usuarios raíz).

Otra forma de hacerlo es comprobando el archivo /etc/group:

$ grep root /etc/group
 

Los usuarios root en Linux

Aquí estamos obteniendo usuarios en el grupo raíz desde el archivo /etc/group.

También, puede verificar si algún usuario puede ejecutar comandos como raíz al chequear el archivo /etc/sudoers:

$ cat /etc/sudoers
 

 

Obtener el número total de usuarios

Para obtener el número total de usuarios en Linux, usted puede contar las líneas en el archivo /etc/passwd utilizando el comando wc de esta manera:

$ cut -d: -f1 /etc/passwd | wc -l
 

Listar el número total de usuarios en Linux

¡Grandioso! 43 usuarios. Pero esto incluye usuarios del sistema y regulares. ¿Que hay sobre obtener el número de usuarios regulares solamente?

¡Fácil! Ya que conocemos de arriba que los usuarios regulares tienen UID de 1000 en adelante, podemos utilizar awk para obtenerlos:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
 

Lista de usuarios habituales

¡Genial!

 

Lista de usuarios sudo

Los sistemas Linux tiene una utilidad llamada sudo que le permite ejecutar comandos como si fuera otro usuario quien usualmente es el usuario raíz.

Esto debería ser manejado con cuidado en un ambiente profesional.

También, es muy importante conocer cual usuarios puede correr el comando sudo. Para esto, es suficiente listar los usuarios que pertenecen al grupo sudo.

$ members sudo
 

usuarios de sudo group

Los usuarios en este grupo pueden ejecutar comandos como super usuarios.

 

Listas de usuarios que tienen acceso SSH

SSH permite a los usuarios acceder a computadoras remotas en una red. Esto es bastante seguro y nació como un reemplazo para Telnet.

En Linux por defecto, todos los usuarios regulares pueden iniciar sesión y usar SSH. Si usted quiere limitar esto, puede utilizar el archivo de configuración de SSH (/etc/ssh/ssh_config) y agregar la siguiente directiva:

AllowUsers user1 user2 user3
 

También, puede permitir grupos en lugar de permitir solo usuarios utilizando la directiva AlloeGroups:

AllowGroups group1 group2 group3
 

Estas directivas definen quien puede acceder el servicio. No olvide reiniciar el servicio SSH.

 

Lista de usuarios que tienen permiso a un archivo o directorio

Podemos dar más de un permiso para acceder o modificar archivos y directorios de dos formas.

Ad by Valueimpression

El primer método es agregando usuarios al grupo del archivo o del directorio.

De esta forma, podemos listar el grupo de miembros utilizando la utilidad members como se mostró arriba.

Está bien, pero ¿que si solo queremos los usuarios que tienen acceso a un archivo en específico? (no todos los permisos del grupo)

Aquí podemos definir la ACL para este archivo utilizando el comando setfacl de esta forma:

$ setfacl -m u:newuser:rwx myfile
 

Aquí damos al usuario llamado newuser el permiso para el archivo llamado myfile, permisos para leer, escribir y ejecutar.

Ahora el archivo puede ser accedido y modificado por el dueño y el usuario newuser. ¿Así que ahora como los listamos?

Podemos listarlos utilizando el comando getfacl de esta manera:

$ getfacl myfile
 

Este comando listará todos los usuarios que tienen permiso para el archivo con su permiso correspondiente.

 

Listar usuarios bloqueados (deshabilitados)

En Linux, como medida de seguridad, podemos bloquear usuarios. Esto como precaución si se sospecha que el usuario está haciendo cosas malas y usted no quiere eliminarlo completamente y solo quiere bloquearlo para investigación.

Para bloquear un usuario, puede utilizar el siguiente comando:

$ usermod -L myuser
 

Ahora el usuario llamado myuser no será capaz de iniciar sesión o utilizar el sistema.

Para listar todos los usuarios bloqueados del sistema, solo utilice el siguiente comando:

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
 

Esto imprimirá todos los usuarios bloqueados incluyendo los usuarios del sistema. ¿Pero cómo se hace para listar los usuarios regulares solamente?

Como vimos anteriormente, usando awk podemos obtener los usuarios regulares bloqueados de esta forma:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

Listar usuarios remotos (LDAP)

Okay, ahora podemos listar todos los usuarios del sistema (usuarios locales), pero, como listar los usuarios remotos o usuarios LDAP? Bueno podemos utilizar una herramienta como ldapsearch, pero ¿existe otra forma?

¡Afortunadamente si! Usted puede listar usuarios locales y remotos con un comando llamado getent

$ getent passwd
 

Este comando, lista tanto a los usuarios de sistema locales como a los remotos y a los usuarios LADP o NIS o los usuarios de cualquier otra red.

Puede canalizar los resultados de este comando a cualquiera de los comandos mencionados anteriormente de la misma manera.

También, el comando getent puede listar cuentas de grupo de esta manera:

$ getent group
 

Puede revisar la página principal del comando para conocer las otras bases de datos en las cuales el comando puede buscar.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *