Usuarios y Grupos

Introducción

Actualmente la mayoría de sistemas operativos son multiusuario y multitarea. Esto implica que más de un usuario puede trabajar en el sistema de forma simultánea a otros, ejecutando más de una tarea a al vez. Por este motivo es muy importante que el sistema operativo incorpore mecanismos para manipular y controlar correctamente los usuarios: el sistema de login, los programas que puede ejecutar cada uno, protección para los ficheros de los usuarios, etc.

Los sistemas basados en Unix organizan todo esto por usuarios y grupos; al entrar en el sistema debemos identificarnos con un login y una contraseña. El sistema de contraseñas es unidireccional. Esto quiere decir que nuestra contraseña encripta y luego se almacena. Para encriptarla se usa un algoritmo unidireccional, es decir, que a partir de la contraseña cifrada es imposible obtener la original. Por ello, para verificar nuestra cuando hacemos un login, se encripta la contraseña introducida y se comparan las contraseñas encriptadas.

Si un usuario es un individuo particular que puede entrar en el sistema, un grupo es un conjunto de usuarios con acceso al sistema que comparten unas mismas características, de forma que nos es útil agruparlos para poder darles una serie de permisos especiales en el sistema. Un usuario debe pertenecer, al menos, a un grupo.

En todo sistema debe haber un superusuario (root), que tendrá todos los permisos y privilegios máximos que le permitirán hacer cualquier operación sobre el sistema. Es importante que esta cuenta no se utilice para trabajar habitualmente en el sistema. Sólo deberíamos entrar como root cuando sea necesario, utilizando otras cuentas para el trabajo normal.

Ficheros de configuración

Toda la información de usuarios y grupos se guarda en los siguientes ficheros:

  • /etc/passwd: Información (nombre, directorio home, …) del usuario.
  • /etc/group: Información sobre los grupos de usuarios.
  • /etc/shadow: Contraseñas encriptadas de los usuarios y configuración para su validez, cambio, etc.

Los campos de estos ficheros contienen toda la información que podemos manipular de los usuarios. Pero esto no suele hacerse editando directamente estos ficheros (aunque puede hacerse) sino que existen unos comandos específicos para facilitarnos esta tarea.

El hecho de que las contraseñas encriptadas puedan ser leídas no compromete la seguridad de nuestro sistema por el motivo explicado en el segundo párrafo de la introducción.

Comandos básicos de administración

Sólo root tiene permiso para manipular la información de los usuarios, darlos de alta, eliminarlos, etc. Para ello utiliza una serie de comandos:

  • useradd: Añade un usuario al sistema. La forma en como éste se añade (si no le pasamos parámetros) puede ser configurada en el fichero /etc/adduser.conf.
  • adduser: Añade un usuario a un grupo determinado. (P. ej. adduser nacx audio (Añadiriamos al usuario nacx al grupo de audio))
  • usermod: Con este podemos modificar la mayoría de los campos de los ficheros /etc/passwd y /etc/shadow.
  • chfn: Cambia la información personal del usuario.
  • chsh: Cambia el shell (intérprete de comandos) del usuario.
  • userdel: Elimina un usuario del sistema, borrando o guardando todos sus ficheros, según los parámetros que le pasemos.
  • passwd: Para cambiar la contraseña del usuario, la información de expiración de la misma, o para bloquear o desbloquear una determinada cuenta.
  • groupadd: Permite añadir un grupo al sistema.
  • groupmod: Permite modificar la información (nombre y GID) de un determinado grupo.
  • groupdel: Elimina un determinado grupo. SI algún usuario lo tiene como primario no se podrá eliminar.
  • gpasswd: Para cambiar la contraseña del grupo.

Evidentemente, de momento sería muy largo explicar detalladamente y con ejemplos cada uno de estos comandos, pero su sintaxis es muy parecida y en las páginas del man están muy bien explicados y no hay que leer demasiado.

Comandos útiles

Para saber qué usuario somos en el sistema podemos utilizar el comando whoami, que mostrará nuestro login o si lo ponemos separado who am i nos dirá con que login nos logueamos por primera vez en la maquina. También podemos convertirnos en otro usuario sin tener que salir de la sesión con el comando su, o cambiarnos de grupo con newgrp.

Como decíamos al principio GNU/Linux es un sistema multiusuario, con lo que en un momento dado puede haber varios usuarios conectados al sistema de forma simultánea. Para saber qué usuarios hay conectados podemos utilizar el comando who, que nos muestra una lista de usuarios dentro del sistema. w, además, nos muestra qué están haciendo. Nos podemos comunicar con ellos utilizando el comando write, con el que aparecerá el mensaje que escribamos en la pantalla del usuario que indiquemos, o wall, que escribe el contenido del fichero que especifiquemos a todos los usuarios. Para activar o desactivar la opción de recibir mensajes podemos utilizar el comando mesg.

Tutorial elaborado por Nacx para ADSLAyuda.com

Este sitio web utiliza cookies para mejorar su experiencia. Asumiremos que estás de acuerdo, pero puedes optar por no seguir si lo deseas. Aceptar Leer más