Curso de Linux
Manejo de usuarios: crear, remover, seteo de claves y sus conceptos.
2:27 Getting Started
A pesar que hay variaciones entre diferentes distribuciones mayormente, en lo que se verá, son muy similares. En distribuciones de escritorio muchas veces no es necesario usar la terminal, sin embargo hay muchos entornos de escritorio por lo que no siempre es igual. En distribuciones de servidores solo suele haber uso de terminal por lo que es útil aprender a manejarse de ese lado ya que termina siendo una forma universal.
Como agregar usuarios es un cambio en el sistema se necesitan privilegios por lo que usaremos sudo. Esto lo haremos con el comando sudo useradd usuario.4:05 Understanding Users
La forma correcta de ver los usuarios locales activos no es a través de listar el contenido de la carpeta home, sino a través de ver el contenido del archivo /etc/passwd 4:59 Etsy Password
El nombre del archivo está abreviado siempre, aunque se suele decir comúnmente “etc – password”
El comando cat lo que hace es mostrarme el contenido de un archivo. Luego se muestra que concatenándolo mediante pipe y el comando “wc -l” se ve la cantidad de usuarios o lineas del archivo. Esto difiere mucho en el listado mostrado en /home. 6:54 User ID
También en el ejemplo vemos la concatenación del comando grep para quedarnos solo con la linea que coincide con el usuario en particular. Aquí vemos, entre otras cosas, el id de usuario. Este número suele arrancar de 1000 y generalmente es el número utilizado para usuarios creados en la instalación. 7:47 Adding Users
Ahora en este momento vemos la creación del usuario foxmulder y como se usa sudo luego se solicita la clave del usuario que corre el comando. No confundir con la clave del usuario que se está creando eso se hará luego. En este momento vemos que no tiró ningún error. Volvemos a ver el contenido de etc-passwd y vemos que al final aparece el usuario recién creado. Fijarse que se agregó secuencialmente el id por lo que ahora tenés 1001. Fijarse que lo que esta más bajo de 1000 suele ser usuarios del sistema.10:12 Default User Directory
Ahora nos fijamos si se creó el home de dicho usuario. En algunas distribuciones puede hacerlo e otras no. Esto lo podemos ver en el archivo /etc/defaults/useradd11:50 Be Explicit
Una opción sería modificar el archivo pero aún mejor es ser explícito en lo que se quiere. Hacerlo de esta forma es bueno porque si los comandos están en un script, este script puede ser corrido en cualquier plataforma sin importar como esta esté configurada. Vamos a crear nuevamente el usuario pero esta vez especificando que queremos que se cree un home. El problema es que el usuario ya existe por lo tanto vamos a borrarlo primero con el comando userdel y luego crearlo nuevamente de forma más explícita.13:15 User Delete
Corriendo el comando sudo userdel usuario por defecto no borra el contenido del directorio de home. En este caso no importa porque no tenia un directorio. Haciendo cat /etc/passwd vemos que el usuario ya no está.14:23 Home Directory
Esta vez vamos a volver a crearlo de forma que si tenga un directorio de home. Para hacer esto simplemente agregamos guion m. Así, sudo useradd -m usuario.15:10 Removing Home Directory
Ahora vamos a remover nuevamente el usuario pero en esta ocasión también removeremos el directorio de home. Para hacerlo simplemente agregamos guion r. Así, sudo userdel -r usuario. De todas maneras tener muy en cuenta si se está trabajando en una empresa, tener en cuenta que muchas veces el contenido de los archivos de un usuario pueden ser necesitados por proyectos sin terminar o incluso políticas de retención de datos. Antes de borrar siempre consultar a la gente involucrada.
Ahora veremos como setear una contraseña pero antes volveremos a crearlo.17:49 Passwd
Escribimos sudo useradd -m usuario. El comando passwd normalmente se asume que se cambia la clave del usuario actualmente logueado. Una vez corrido se pide la clave actual y luego la nueva en dos momentos. (Más adelante se verá como setear claves que caduquen)19:08 Change Password for Another User
Para cambiar la clave a otro usuario corremos sudo passwd usuario. En el caso de que la clave no existe normalmente no se pide la anterior, sin embargo cuando corremos passwd como root tampoco se pide la clave antigua.20:46 Creating a System User
Ahora se verá un ejemplo de la creación de un usuario del sistema. Estos usuarios sirven para la ejecución de tareas programadas (script con cron). En este ejemplo agregaremos guion r para especificar que el usuario debe ser del sistema.
Así, sudo useradd -r usuariosistema. Si miramos nuevamente el archivo etc-passwd veremos que el id esta vez es inferior a 1000. Con eso ya se sabe que el usuario es de sistema. La mayoría de las distribuciones no muestran en la ventana de login los usuario del sistema.23:50 Etsy Password File
En caso que se quieran hacer otras cosas fuera de las básicas, se puede investigar las opciones de los comandos mediante el manual, por ejemplo. man useradd
Ahora se mostrará como está compuesta cada linea del archivo etc-passwd.
Cada campo está separado del siguiente con dos puntos. Empezamos con el nombre de usuario y luego tenemos una equis donde se representa que tiene una clave encriptada. Siguiendo veremos el id de usuario (como vimos 1000 o mayor para usuarios normales y menores a 1000 para usuarios del sistema). Luego vemos el id de grupo (esto se verá en otro video). Seguimos con el campo “gecos” que normalmente se usa para describir el nombre y apellido del usuario o algún detalle. Este último es opcional y puede omitirse. A veces se verán dos dos puntos seguidos en ese caso. Al lado veremos la ruta del directorio de home del usuario. Por último se representa la shell que se ejecutará una vez que se inicie sesión, normalmente /bin/bash, /bin/sh o en el caso de un usuario del sistema que no queramos que inicie sesión interactiva /usr/sbin/nologin. Esto lo podemos ver con echo $SHELL28:12 Etsy Shadow File
Por último veremos donde se almacenan las claves encriptadas y sus propiedades. Esto se ve en /etc/shadow. Para verlo tenemos que usar si o si sudo cat /etc/shadow
Tenemos tambien campos separados por dos puntos, empezando con el nombre de usuario. Seguimos con el “Hash” de la contraseña, luego los dias que pasaron desde la fecha “epoch” en que se cambio la clave. Esta fecha es primero de enero de 1970. La cuarta columna se ve la cantidad de días que faltan hasta que se pueda cambiar la clave, cero implica cuando se quiera. Luego se ve cuantos días faltan para que se obligue a cambiar la clave actual. Por último veremos a partir de que día antes de que venza la clave se empezará a mostrar un mensaje recordando que debe cambiar la clave. Las últimas columnas no están seteadas pero representan los siguientes conceptos: Cuantos días faltan hasta que la cuenta de usuario se bloquee, cuantos días faltan hasta que la cuenta se deshabilite.