Table of Contents

Linux es un sistema operativo multiusuario, por lo que es fácil crear numerosas cuentas de usuario. Con el tiempo, es fácil perder l. a. noción de qué cuentas se requieren. Los angeles lista de cuentas de usuario lo ayuda a administrarlas.
Cuentas de usuario
Los avances en tecnología a menudo traen sus propios problemas nuevos. Tan pronto como las computadoras pudieron admitir múltiples usuarios, se hizo evidente l. a. necesidad de delimitar y encapsular el trabajo de cada personality del resto. Esto llevó al concepto de cuentas de usuario. Cada usuario tiene una identificación con nombre y una contraseña. Estas son las credenciales que les permiten iniciar sesión en su cuenta. Sus archivos se guardan en un área que es privada para cada usuario.
En un sistema ocupado, es fácil perder de vista qué cuentas ha creado y cuáles ya no son necesarias. Desde el punto de vista de l. a. seguridad, es una mala práctica mantener cuentas de usuario que ya no necesita configurar y acceder a ellas en su computadora. Debes eliminar a esos usuarios.
Incluso si no tiene otras personas usando su computadora, es posible que haya creado algunas cuentas solo para aprender cómo hacerlo, o para aprender y practicar los procesos de administración.
El primer paso es enumerar las cuentas de usuario que están configuradas en su computadora. Eso le permite revisarlos y tomar una decisión sobre cuáles se pueden eliminar. Existen varios métodos para listar usuarios. Independientemente de l. a. distribución que esté utilizando, estas técnicas deberían funcionar para usted sin necesidad de instalar ninguna aplicación o utilidad.
Lista de usuarios con el comando cat
Se mantiene una lista de los usuarios configurados, junto con información sobre cada usuario, en el archivo “/and so forth/passwd”. Este es un archivo de texto que los usuarios regulares pueden mostrar en l. a. ventana de l. a. terminal. No necesitas usar sudo
para buscar en el archivo “/and so forth/passwd”.
Podemos usar el cat
Comando para enviar el contenido del archivo “/and so forth/passwd” a l. a. ventana del terminal. Esto listará todo el contenido del archivo. Esto significa que también verá las entradas de las cuentas de usuario que pertenecen a los procesos y al sistema, no a las personas.
cat /and so forth/passwd
Hay una línea de información densa reportada para cada cuenta de usuario.
Los angeles información de l. a. cuenta de usuario llamada “dave” contiene estos datos, con dos puntos “:
” entre ellos.
- dave: El nombre de l. a. cuenta de usuario. Por lo normal, el nombre de l. a. personality propietaria de l. a. cuenta.
- X: Hubo un tiempo en que contenía l. a. contraseña de l. a. cuenta. Hoy en día, las contraseñas se almacenan en el archivo “/and so forth/shadow”. Los angeles “x” significa que l. a. contraseña está en ese archivo.
- 1000: El ID de usuario para esta cuenta. Todas las cuentas de usuario tienen una identificación numérica única. Las cuentas de usuario regulares generalmente comienzan en 1000, y cada nueva cuenta toma l. a. siguiente identificación gratuita, como 1001, 1002, and so forth.
- 1000: El ID de grupo del grupo predeterminado al que pertenece el usuario. En circunstancias normales, el grupo predeterminado tiene el mismo valor que el ID de usuario.
- david,,,: Una colección de información adicional opcional sobre el usuario. Este campo contiene datos con comas “
,
” entre ellos. Pueden contener cosas como el nombre completo del usuario, el número de su oficina y su número de teléfono. Los angeles entrada de l. a. cuenta de usuario “mary” muestra que su nombre completo es Mary Quinn. - /inicio/dave: Los angeles ruta a l. a. carpeta de inicio del usuario.
- /bin/bash: El shell predeterminado para este usuario.
Si canalizamos l. a. salida de este comando a través del wc
utilidad y uso de -l
(líneas) opción podemos contar las líneas en el archivo. Eso nos dará l. a. cantidad de cuentas configuradas en esta computadora.
cat /and so forth/passwd | wc -l
Esa cifra incluye las cuentas del sistema y los usuarios creados por las aplicaciones. Hay alrededor de 400 usuarios regulares configurados en esta computadora. Es possible que su resultado sea mucho menor.
Con tantas cuentas, es más conveniente usar much less
para ver el archivo “/and so forth/passwd”.
much less /and so forth/passwd
Utilizando much less
también le permite buscar dentro de l. a. salida, si desea buscar una cuenta de usuario en specific.
El comando awk
Utilizando el awk
comando podemos mostrar solo el nombre de usuario. Esto puede ser útil cuando está escribiendo un script que necesita hacer algo con muchas cuentas de usuario. Enumerar los nombres de las cuentas de usuario y redirigirlos a un archivo de texto puede ahorrar mucho tiempo. Todo lo que necesita hacer es copiar y pegar el resto del comando en cada línea.
Le diremos a awk que use los dos puntos “:” como separador de campo y que imprima el primer campo. Usaremos l. a. opción -F (separador de campo).
awk -F: '{print $1}' /and so forth/passwd
Los nombres de las cuentas de usuario se escriben en l. a. ventana del terminal sin ninguna otra información de l. a. cuenta.
El comando de corte
Podemos lograr el mismo tipo de cosas usando el lower
dominio. Necesitamos usar el -d
(delimitador) y pídale que seleccione solo el primer campo, usando el -f
(campos) opción.
cutr -d: -f1
Esto enumera todas las cuentas de usuario, incluido el sistema y otras cuentas no humanas.
El comando compgen
Él compgen
El comando se puede usar con el -u
(usuario) opción para listar las cuentas de usuario. Canalizaremos l. a. salida a través del column
Comando para enumerar las cuentas de usuario en columnas, en lugar de una lista larga con un solo nombre de usuario por línea.
compgen -u | column
Nuevamente, las primeras cuentas de usuario enumeradas pertenecen a procesos, no a humanos.
UID MIN y UID MAX
Las cuentas de usuario reciben una identificación numérica, que vimos anteriormente. Por lo normal, las cuentas de usuarios humanos regulares comienzan en 1000, y las cuentas de usuarios no humanos del sistema comienzan en 0. El ID de l. a. cuenta raíz es 0.
Si podemos verificar las identificaciones de usuario más bajas y más altas posibles, podemos usar esa información para seleccionar las cuentas de usuario que se encuentran entre esos dos valores. Eso nos permitirá seleccionar solo las cuentas de usuario que pertenecen a personas reales.
Linux realiza un seguimiento de estos dos valores utilizando parámetros de configuración llamados UID_MIN
y UID_MAX
. Estos se guardan en el archivo “/and so forth/login.defs”. Podemos ver fácilmente estos valores usando grep
.
vamos a usar el -E
(regex extendido) opción. Nuestra cadena de búsqueda busca líneas que comiencen con “UID_MIN” o “UID_MAX” en el archivo “/and so forth/login.defs”. el intercalado”^
” representa el comienzo de una línea.
grep -E '^UID_MIN|^UID_MAX' /and so forth/login.defs
El rango de ID de usuario en esta computadora es de 1000 a 60,000.
RELACIONADA: Cómo usar expresiones regulares (regexes) en Linux
El Comando getente
Él getent
El comando lee información de las bases de datos del sistema. Podemos decirle que enumere las entradas en el archivo “/and so forth/passwd” usando “passwd” como parámetro.
getent passwd
Esto nos da l. a. misma lectura que podemos obtener usando cat
. Pero donde getent
brilla es aceptando valores conocidos como “claves”. Una clave dicta qué información getent
informes sobre. Si queremos ver l. a. entrada de un solo usuario, podemos pasar su nombre de cuenta de usuario en l. a. línea de comando.
getent passwd Sarah
Tenga en cuenta que el nombre de l. a. cuenta de usuario distingue entre mayúsculas y minúsculas.
getent passwd sarah
También podemos pasar los límites awesome e inferior de las ID de cuenta de usuario que queremos ver. Para ver absolutamente todas las cuentas de usuarios regulares, podemos usar los valores de UID_MIN
y UID_MAX
.
getent passwd {1000..60000}
Esto toma algún tiempo para ejecutarse. Eventualmente, volverá al símbolo del sistema.
Los angeles razón del largo tiempo de ejecución es que getent
intenta encontrar coincidencias para todos los valores de l. a. cuenta de usuario hasta 60000.
Veamos cuál es el ID de cuenta de usuario más alto. Usaremos el lower
comando, pero esta vez le pediremos el campo tres, el campo de ID de usuario. Canalizaremos l. a. salida a través de kind
y america el -g
(clasificación numérica normal) opción.
lower -d: -f3 /and so forth/passwd | kind -g
El valor de ID más alto de una cuenta de usuario de propiedad humana es 1401.
El ID de usuario 65534 se asigna al concepto de sistema de “nadie”.
getent passwd {65534..65534}
Así que sabemos que en lugar de usar el UID_MAX
valor de 60000, en esta computadora podemos usar un valor más realista como 1500. Eso acelerará las cosas muy bien. También canalizaremos l. a. salida a través de lower
para extraer solo los nombres de las cuentas de usuario.
contraseña getent {1000..1500} | cortar -d: -f1
Los usuarios aparecen en l. a. lista y regresamos inmediatamente al símbolo del sistema.
En lugar de canalizar l. a. salida a través lower
canalicemos l. a. salida a través de wc
y cuenta las líneas una vez más. Eso nos dará el número de cuentas de usuario “reales”.
getent passwd {1000..1500} | wc -l
Ahora podemos ver que en esta computadora, definitivamente, hay 400 cuentas de usuario configuradas, de propiedad humana.
Poder y Simplicidad
Una de estas técnicas seguramente se adaptará a sus necesidades cuando necesite revisar las cuentas de usuario en una computadora con Linux. Estos comandos deben estar presentes en todas las distribuciones, y ninguno de ellos requiere sudo
acceso, por lo que todos están disponibles para todos los usuarios.
RELACIONADA: Cómo controlar el acceso a sudo en Linux