Creación de Cuentas de Usuario



Unos de los temas que más me gustan en el área de la admistración de sistema es la parte de la administración de cuentas de usuario, el cual es considerado uno de los más importante en el área de la administración de sistemas. Sin embargo; en este post solo cubriremos la creación de cuentas de usuario en el sistema, pues este es el punto base de la administración de cuentas de usuarios.

Existe muchas formas de crear cuentas de usuario en Linux. La manera más fácil que conozco de hacer esta tarea es usar una aplicación gráfica dedicada a ese propósito, muchas de las distribuciones Linux tienen esta herramienta instalada por defecto. Otra forma de crear cuentas de usuario es usando los comandos adduser y useradd en la línea de comandos, en caso de no poseer estos comandos en tu distribución o no saber usarlos, existe otra manera de crear cuentas de usuario la cual sería de forma manual y es la que cubriremos en este post.

El método manual no es considerado el más seguro o mejor que el uso de los comandos ya mencionados, recomiendo usar este método solo en casos que lo requiera ya que cualquier error que se llegue a cometer puede llegar a afectar no solo la cuenta del nuevo usuario sino también la cuenta de usted. Es recomendable leer las páginas man de useradd y adduser para aprender sus usos.

Aquí utilizo la forma manual, solo para mostrarte lo que sucede detrás de la "cámara" cuando utilizas comandos como useradd. Para crear nuevas cuentas de usuario en Linux, debes entrar en modo root (ya que este tipo de tareas solo las puede ejecutar el administrador) y luego seguir los siguientes pasos:

Primer Paso

El primer paso que debes realizar para crear la cuenta del nuevo usuario (de forma manual) es editar el fichero /etc/passwd, este fichero almacena toda la información acerca de las cuentas de todos los usuarios registrados en el sistema en un formato especial que es necesario entender, a continuación se muestra una imagen de dicho formato:




La imagen anterior representa los campos que contiene el archivo /etc/passwd. En él se muestra el nombre de usuario el cual se recomienda que sea único en el sistema y también evitar el uso de caracteres que no sean alfanuméricos.

También podemos ver la contraseña encriptada del usuario, luego el ID del usuario y del grupo al cual pertenece (UID y GID). Después se presenta un campo opcional conocido como el de comentarios,  aquí podemos añadir información extra de utilidad como por ejemplo el nombre completo del usuario o el departamento en el cual trabaja el usuario.

Las dos ultimas secciones son para el directorio /home del usuario y la terminal que el usuario utilizará en su cuenta. Existen algunas distribuciones Linux que poseen mas una terminal pero lo habitual es utilizar bash. Si eres alguien curioso, puedes instalar otras terminales en tu sistema en caso de que no las tengas por defecto, algunas de ellas sería ZSH, CSH, KSH, entre otras muchas más, esto es solo por nombrar algunos.

Segundo Paso

Después de editar el fichero /etc/passwd lo que sigue es editar el fichero /etc/group, aquí es en donde le asignamos un grupo al nuevo usuario y el formato que muestra este fichero es muy similar al anterior:



Primero vemos el nombre del grupo al cual va pertenecer el usuario. Por defecto el sistema coloca al usuario en su propio grupo con el mismo nombre de su cuenta (esto también puede ocurrir si utilizas comandos para crear las cuentas de usuario). Luego le sigue la contraseña encriptada del grupo, pues también es posible crear contraseñas para los grupos no solo para los usuarios.

Por último tenemos el ID del grupo y los miembros del grupo. También es posible añadir más de un solo miembro al grupo para que diferentes usuarios tengan acceso a él.

Nota Importante Sobre los ID de Usuario y Grupo

Para evitar conflictos con las cuentas, los ID de usuario y de grupo deben ser únicos en el sistema. Dependiendo de la distribución que use el ID tanto de usuario como de grupo varía entre 500 a 1000. Las cuentas que están por debajo esos números son el usuario root (cuyo ID de usuario y grupo es 0) y las cuenta del sistema operativo necesarias para correr los procesos que no tienen interacción con el usuario.

Tercer Paso

El tercer paso consiste en crear la estructura de directorio del usuario, esto lo puedes hacer usando el comando mkdir, y lo mejor es que puedes hacerlo en una sola línea de comando. En caso de que no sepas como hacerlo en una sola línea te recomiendo repasar el siguiente video:





Cuarto Paso

 Después de crear la estructura de directorio del usuario, procedemos a copiar todos los ficheros que se encuentran en el directorio /etc/skel en el /home del usuario. Estos ficheros son archivos de configuración para la cuenta del usuario, como por ejemplo el .bashrc para configuración y personlazación de la terminal bash del usuario. Cabe resaltar que mencionados ficheros se encuentran ocultos en el directorio. Puedes copiar estos archivos usando el comando cp.

Quinto Paso

Después de copiar los archivos de configuración localizados en el directorio /etc/skel, se procede a modificar los permisos y la propiedad de los directorios, pues cuando creas el directorio este acquiere la propiedad de su creador por defecto en este caso root, esto lo puedes confirmar ejecutando el comando ls -l. La intención en este paso es que los directorios deben de pertenecer al usuario y al grupo del usuario, de lo contrario el usuario no prodrá acceder a su cuenta.

En el caso de los permisos, esto puede variar de acuerdo a las necesidades del administrador y/o el usuario. En mi opinión, los persmisos que se asignan por defecto son suficientes para un usuario de Linux doméstico. También se debe modificar la propiedad de los ficheros que se copiaron desde el directorio /etc/skel de la misma manera que se haría con los directorios.

Sexto Paso

En este paso debemos asignarle una contraseña al nuevo usuario, esto lo podemos lograr mediante el comando passwd. Recuerda que todo este proceso solo puede ser hecho por el administrador del sistema, dicho de otro modo root, incluyendo la asignación de la contraseña. El usuario podrá cambiar su contraseña después del login cuando lo desee, pero root puede cambiar todas las contraseñas de los usuarios registrados en el sistema cuando el lo desee.

También es posible asignarle una contraseña al grupo si se desea, esto lo podemos lograr mediante el comando chgpasswd.

 

Final

Como último paso debemos encriptar la contraseña del usuario mediante el comando pwconv, y en caso de haberle colocado contraseña al grupo, este también debe ser encriptado con el comando grpconv.

El comando pwdconv encripta la contraseña del usuario y lo guarda en un fichero llamado /etc/shadow, el cual posee un formato similar al /etc/passwd. Lo mismo aplicaría para el caso de los grupos con el comando grpconv, solo que la información encriptada generada por el comando se guarda en el fichero /etc/gshadow. Estos dos últimos ficheros solo pueden ser leídos por el usuario root.

Los ficheros /etc/shadow y /etc/gshadow no se deben editar manualmente, ya puede ocasionar un problema de inconsistencia en las cuentas de usuario. Para realizar cambios que tengan que ver con estos ficheros, normalmente se utiliza el comando usermod.

Ahora el usuario puede hacer login en su cuenta y hacer uso de ella. En el siguiente video se muestra paso a paso todo el proceso de creación de cuentas de usuario que te ayudará a comprender mejor el proceso. También te recomiendo leer las páginas man de los comandos adduser y useradd, ya que con esos comando el proceso se simplifica en gran manera.


Si te ha parecido útil el post, te invito a que lo compartas en tus redes sociales para que otros también se beneficien de estos conocimientos. También te recomiendo que te suscribas para que estés actulizado  con el contenido del blog.

Comentarios