¿Hay un comando para listar a todos los usuarios? También para agregar, eliminar, modificar usuarios, en la terminal?

Necesito un comando para enumerar todos los usuarios, así como comandos para agregar, eliminar y modificar usuarios desde la terminal, cualquier comando que pueda ayudar a administrar cuentas de usuario fácilmente por terminal.

Enumerar

Para enumerar todos local usuarios que puedes usar:

cut -d: -f1 /etc/passwd

Para ver una lista de todos los usuarios que pueden autenticarse (de alguna manera), incluidos los que no son locales, consulte esta respuesta.

Algunos comandos de administración de usuarios más útiles (también limitados a local usuario):

Añadir

Para agregar un nuevo usuario, puede usar:

sudo adduser nuevo_nombre de usuario

o:

sudo useradd nuevo_nombre de usuario

Véase también: Cuál es la diferencia entre adduser y useradd?

Para eliminar/borrar

Para eliminar / eliminar un usuario, primero puede usar:

sudo userdel nombre de usuario

A continuación, es posible que desee eliminar el directorio de inicio de la cuenta de usuario eliminada :

sudo rm-r / inicio/nombre de usuario

Por favor, utilice con precaución el comando anterior!

Modificar

Para modificar el nombre de usuario de un usuario:

usermod -l nuevo_nombre de usuario nombre de usuario antiguo

Para cambiar la contraseña de un usuario:

sudo passwd nombre de usuario

Para cambiar el shell de un usuario:

sudo chsh nombre de usuario

Para cambiar los detalles de un usuario (por ejemplo, nombre real):

sudo chfn nombre de usuario

Para agregar un usuario a la sudo grupo:

adduser nombre de usuario sudo

o

usermod -aG sudo nombre de usuario

Y, por supuesto, ver también: man adduser, man useradd, man userdel... y así sucesivamente.

Solo presiona Ctrl+Alt+T en el teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

cat /etc/passwd

O

less /etc/passwdmore /etc/passwd

También puedes usar awk:awk

awk -F':' '{ print $1}' /etc/passwd

La forma más fácil de obtener este tipo de información es getent - ver página de manual para el getent comando Manpage icon. Mientras que ese comando da el mismo resultado que cat /etc/passwd es útil recordarlo porque le dará listas de varios elementos en el sistema operativo.

Para obtener una lista de todos los usuarios que escribe (como se enumeran los usuarios en /etc/passwd)

getent passwd

Para agregar un usuario nueva York al sistema que escribirías

sudo adduser newuser

para crear un usuario que tenga aplicadas todas las configuraciones predeterminadas.

Bonificación: Para agregar cualquier usuario (por ejemplo cualquierusuario) a un grupo (por ejemplo cdrom) tipo

sudo adduser anyuser cdrom

Elimina un usuario (por ejemplo obsoleto) con

sudo deluser obsolete

Si también desea eliminar su directorio de inicio / mails, escriba

sudo deluser --remove-home obsolete

Y

sudo deluser --remove-all-files obsolete

eliminará al usuario y todos los archivos propiedad de este usuario en todo el sistema.

Puedes usar compgen GNU bash incorporado demasiado:

compgen -u

Mostrará una lista de todos los usuarios.

Esto debería obtener, en la mayoría de las situaciones normales, todos los usuarios normales (no del sistema, no extraños, etc.) :

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

Esto funciona de la siguiente manera:

  • leyendo desde /etc/passwd
  • utilizar : como delimitador
  • si el tercer campo (el número de ID de usuario) es mayor que 1000 y no 65534, se imprime el primer campo (el nombre de usuario del usuario).

Esto se debe a que en muchos sistemas Linux, los nombres de usuario superiores a 1000 están reservados para usuarios sin privilegios (se podría decir normales). Algo de información sobre esto aqui:

Un ID de usuario (UID) es un número entero positivo único asignado por un sistema operativo tipo Unix a cada usuario. Cada usuario se identifica con el sistema por su UID, y los nombres de usuario generalmente se usan solo como una interfaz para humanos.

Los UID se almacenan, junto con sus nombres de usuario correspondientes y otra información específica del usuario, en el archivo /etc/passwd...

El tercer campo contiene el UID, y el cuarto campo contiene el ID de grupo (GID), que de forma predeterminada es igual al UID para todos los usuarios normales.

En los núcleos de Linux 2.4 y superiores, los UID son enteros de 32 bits sin signo que pueden representar valores de cero a 4.294.967.296. Sin embargo, es aconsejable utilizar valores de solo hasta 65.534 para mantener la compatibilidad con sistemas que utilizan kernels o sistemas de archivos más antiguos que solo pueden admitir UID de 16 bits.

El UID de 0 tiene un rol especial: siempre es la cuenta raíz (es decir, el usuario administrativo omnipotente). Aunque el nombre de usuario se puede cambiar en esta cuenta y se pueden crear cuentas adicionales con el mismo UID, ninguna de las acciones es aconsejable desde el punto de vista de la seguridad.

El UID 65534 se reserva comúnmente para nadie, un usuario sin privilegios de sistema, en oposición a un usuario ordinario (es decir, sin privilegios). Este UID se usa a menudo para personas que acceden al sistema de forma remota a través de FTP (protocolo de transferencia de archivos) o HTTP (protocolo de transferencia de hipertexto).

Los UID 1 a 99 se reservan tradicionalmente para usuarios de sistemas especiales (a veces denominados pseudousuarios), como wheel, daemon, lp, operator, news, mail, etc. Estos usuarios son administradores que no necesitan poderes de root totales, pero que realizan algunas tareas administrativas y, por lo tanto, necesitan más privilegios que los otorgados a los usuarios normales.

Algunas distribuciones de Linux (es decir, versiones) comienzan los UID para usuarios sin privilegios en 100. Otros, como Red Hat, los comienzan en 500, y otros, como Debian, los comienzan en 1000. Debido a las diferencias entre las distribuciones, la intervención manual puede ser necesaria si se utilizan múltiples distribuciones en una red en una organización.

Además, puede ser conveniente reservar un bloque de UID para usuarios locales, tal como 1000 a 9999, y otro bloque para usuarios remotos (es decir, usuarios en cualquier otro lugar de la red), tal como 10000 a 65534. Lo importante es decidir un esquema y cumplirlo.

Entre las ventajas de esta práctica de reservar bloques de números para tipos particulares de usuarios está que hace que sea más conveniente buscar en los registros del sistema la actividad sospechosa del usuario.

Contrariamente a la creencia popular, no es necesario que cada entrada en el campo UID sea única. Sin embargo, los UID no únicos pueden causar problemas de seguridad y, por lo tanto, los UID deben mantenerse únicos en toda la organización. Del mismo modo, se debe evitar el reciclaje de UID de usuarios anteriores durante el mayor tiempo posible.

lista de todos los usuarios que pueden iniciar sesión (sin usuarios del sistema como: bin,deamon, mail, sys, etc.)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

añadir nuevo usuario

sudo adduser new_username

o

sudo useradd new_username

eliminar/ eliminar nombre de usuario

sudo userdel username

Si desea eliminar el directorio de inicio (por defecto, el directorio /home / username)

sudo deluser --remove-home username

o

sudo rm -r /path/to/user_home_dir

Si desea eliminar todos los archivos del sistema de este usuario (no solo es el directorio de inicio)

sudo deluser --remove-all-files

Ok, aquí hay un truco que te ayudará a resolver esto. El terminal tiene finalización automática si escribe user y presiona la tecla Tab dos veces, enumerará todos los comandos que existen con user como los primeros 4 caracteres.

user (tab tab)

me da tantas opciones como sea posible useradd userdel usermod users users-admin
si quieres saber más sobre un comando, búscalo en Google o escribe man man useraddgives useradd-crea un nuevo usuario o actualiza la información predeterminada del nuevo usuario ... ...

para enumerar a los usuarios, debe seguir lo que dijo Mitch.

Espero que eso me ayude, me encanta completar tabulaciones en bash, me salva de recordar cosas.

Para averiguar los usuarios que tienen directorios de inicio en la carpeta /home en la máquina, ejecute los siguientes comandos

cd /homels 

A continuación, puede ver los usuarios que tienen autorización para iniciar sesión en el servidor. Si queremos ver los archivos de cualquier usuario, debe ser el usuario root.

La primera respuesta recomienda:

cut -d: -f1 /etc/passwd

Pero usando esto y contando el número de usuarios que obtienes:

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

¡46 usuarios para una computadora portátil son muchos!. Así que usa esto en su lugar:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

Para eliminar cuentas de invitado (que de todos modos no tienen archivos guardados), use:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

Algunos ejemplos de usuarios eliminados de la lista son:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

Resulta que la mayoría de los usuarios en un sistema de un solo usuario son en realidad programas que se han configurado como usuarios.

respuesta sed ‘sed’ s/:.*//’ /etc/passwd`

lista de usuarios: ‘awk-F:’ { print $1 } ’ /etc/passwd `