Linux-Gestion de usuarios-
Gestión de usuarios
La forma de identificar a cada usuario ante e sistema se realiza mediante la asignación de cuentas de usuario.
• Cada usuario dispone de un nombre de usuario que lo identifica (login, username, etc,…)
• Cada usuario puede pertenecer a uno o vario grupos. La identidad de cada usuario, junto con el grupo al que pertenece determina los derechos de acceso a ficheros y otros recursos del sistema.
• La información sobre las cuentas de usuario se almacena en el fiero /etc/passwd y la información sobre los grupos se almacena en el fichero /etc/group.
Fichero /etc/passwd
Es un fichero de texto ASCII que contiene la lista de usuarios del sistema. Cada línea corresponde a un usuario y contiene lo siguiente:
Nombre:palabra_clave_codificada:uid:gid:nombre_completo:directorio_personal:shell
uid: número de identificación del usuario. Cada usuario tiene un número uid único. Se suelen reservar los 100 menores para cuenteas del sistema.
gid: número del grupo principal al que pertenece el usuario.
El superusuario o root, tiene privilegios especiales, pudiendo realizar operaciones sobre cualquier fichero, aunque no tenga explícitamente permisos para ello.
La característica que define a un usuario no es el nombre del mismo, sino su uid. El superusuario no es quien se llame root, sino quien tenga el uid igual a 0.
Cada vez más, los sistemas se inclinan por el uso de shadow passwords, en las cuales la información sobre la clave codificada se encuentra en el fichero /etc/shadow. Este fichero sombra sólo es legible por el root, con lo que se añade un nivel más de seguridad al sistema frente a los programas que intentan adivinar
palabras de paso mediante uso de diccionarios. Estos programsa (crakers) conociendo la clave codificada que se encuentra en el fichero /etc/passwd y que es accesible por cualquier usuario del sistema, pueden descubrir claves de acceso que sean débiles.
Fichero /etc/group
Un usuario puede pertenecer a varios grupos. El grupo primario es aquel que se encuentra en la línea de definición del usuario en el fichero /etc/passwd, pero puede pertenecer a otros grupos secundarios.
En el fichero /etc/group aparece un a línea por cada uno de los grupos definidos en el sistema con la siguiente información:
Nombre_grupo:clave:gid:lista_de_usuarios
Lista_de_usuarios: colección de usuarios separados por comas que tiene a este grupo como secundario.
Ficheros de perfil de usuario
Dependiendo del shell con que entre el usuario entre en el sistema se ejecutarán una serie de ficheros que configurarán su entorno de trabajo. Existen unos ficheros generales que se ejecutaran para todos los usuarios que entran al sistema con un mismo shell (como /etc/profile para los shells Bourne y korn), y otros específicos para cada usuario y que se encuentran en su directorio personal:
.profile (bourne, korn)
.login (C shell)
.bash_profile (bash)
Creación de un nuevo usuario
Los pasos para la creación manual de un usuario serían los siguientes:
1. Incluir una entrada en el fichero /etc/passwd
2. Si es necesario, incluir al usuario en otros grupos dentro de fichero /etc/group
3. Crear el directorio personal del usuario. Copiar los ficheros de inicialización correspondientes que se encuentran en el directorio /etc/skel
4. Cambiar el propietario de los ficheros y del directorio personal para que pertenezcan al usuario.
5. Asignarle una palabra de paso.
Para la creación automática de un usuario podemos utilizar el comando useradd. Este comando permite
crear un usuario nuevo en el sistema. Se puede especificar en la línea de comandos toda la información particular a cada usuario.
Useradd login
-u uid_del_usuario
-c comentario
-d directorio personal, se crea si no existe
-g gid_del_grupo_principal
-G gid,gid de los grupos secundarios
-s shell
Para la asignación de contraseñas a una cuenta de usuario utilizamos el comando passwd, cuya sintaxis es la
siguiente:
Passwd login
Entrar nueva password:
Repetir nueva password:
De al menos 6 caracteres, preferentemente 8 caracteres de largo.
Debería contener letras minúsculas, mayúsculas, signos de puntuación y números
Eliminación de un usuario
Hay varios grados diferentes de eliminar un usuario del sistema.
1. Eliminación transitoria, sólo se elimina la capacidad para registrarse. Para esto ponemos “*” en el 2º campo del registro de usuarios del fichero /etc/passwd.
2. eliminar al usuario pero conservando los archivos en el directorio personal, sólo se elimina del archivo de contraseñas.
Userdel login
3. Eliminar al usuario del archivo de contraseñas y borrar todos los ficheros del archivo personal del mismo.
Userdel –r login
Trabajando con grupos
Para crear un nuevo grupo podemos utilizar dos métodos: manual editando el fichero /etc/group y añadiendo una nueva entrada o madiante el comando groupadd
groupadd nombre_grupo
El grupo se agrega y tiene un número gid único asociado a él. Por omisión se asigna el primer número disponible mayor de 99 y mayor que cualquiera de los otros grupos. Para especificar un número concreto por parte del usuario
groupadd –g gid nombre_grupo
Para la eliminación de un grupo podemos de igual manera suprimir manualmete la línea que hace referencia dicho grupo en el fichero /ect/group o utilizar el comando:
groupdel nombre_del_grupo
Comandos relacionados
Comando usermod
El comando usermod se emplea para modificar algunas propiedades de los usuarios como: el login, el
directorio base, el shell que se inicia al conectarse, los grupos a los que pertenece, la fecha de expiración
de la cuenta, etc. También bloquea y desbloquea una cuenta.
Sintaxis: usermod [opciones] <login>
Ejemplos:
# usermod -s /bin/csh pepe # coloca el shell csh para el usuario pepe
# usermod -G users,disk pepe # señala como grupos secundarios de pepe a
users y disk
# usermod -e 2001-10-20 pepe # indica que la cuenta de pepe expirará el 20
de octubre del 2001
Comando id:
El comando id, imprime dado un usuario, sus identificadores de usuario y de grupo principal (gid y uid) así como del resto de los grupos a los que pertenece. Sin argumentos se asume el usuario actual.
Sintaxis: id [opciones] [login]
[opciones]
• -u Informa sólo el ID del usuario
• -g sólo el gid del grupo al que pertenece
• -G muestra sólo grupos secundarios
• -n muestra el nombre de usuario o grupo, requiere –u, -g o -G
Ejemplo:
# id pepe
uid=502(pepe) gid=502(pepe) groups=502(pepe),100(users)
Comando su
El comando su permite ejecutar un shell (u otro comando) cambiando los identificadores del grupo y del usuario actual. Si se le pasa – como primer argumento ejecuta el shell como un login shell, o sea se creará un proceso de login tal y como ocurre naturalmente cuando un usuario se conecta al sistema. Si no se especifica el login del usuario se asume root.
Sintaxis: su [opciones] [login]
Ejemplos:
$ su –
Password:
#
# su pepe
Password:
Comando chown
Cambia el usuario propietario de un o varios ficheros, su sintaxis es la siguiente:
chown [-R][-v][-c][propietario] [fichero1]……[ficherox]
-R cambia de forma recursiva la propiedad de los directorios y sus contenidos
-v describe en detalle los cambios de propiedad.
-c describe con detalle sólo los cambios cuya propiedad cambia.
Comando chgrp
Cambia el grupo propietario de un o varios ficheros, su sintaxis es la siguiente:
chown [-R][-v][-c][nuevo_grupo] [fichero1]……[ficherox]
-R cambia de forma recursiva la propiedad de los directorios y sus contenidos
-v describe en detalle los cambios de propiedad.
-c describe con detalle sólo los cambios cuya propiedad cambia.
Gestionar usuarios y grupos en Ubuntu
.
En Ubuntu tenemos dos formas de gestionar los usuarios y grupos:
1. Gráfica -> La más sencilla
2. Texto por Línea de comandos -> más técnica pero más potente al poder hacer varias cosas a la vez.
MODO GRAFICO EN UBUNTU
Vamos a: Sistema -> Administración -> Usuarios y Grupos
Pulsa el botón “Pulse para realizar los cambios” e introduce la contraseña de root o superusuario.
Presiona + Añadir Usuario y se abre el Editor de Cuentas de Usuario.
En la pestaña “CUENTA” como mínimo debes de rellenar:
- El Nombre de usuario. No uses espacios ni caracteres ASCII
- El Nombre real. Esto es opcional
- El perfil: eliges entre Administrador, Usuario de Escritorio y Usuario sin Privilegios (esto genera los privilegios de usuario predeterminados, aunque posteriormente los puedes modificar).
- La contraseña: la puedes poner a mano (2 veces) o eliges que Ubuntu la genere automáticamente.
En la pestaña “INFORMACION DE CONTACTO“:
- Puedes poner la ubicación de la oficina y teléfonos. Esto es opcional.
En la pestaña “PRIVILEGIOS DEL USUARIO“:
- Puedes añadir o quitar los privilegios a los que el nuevo usuario tendrá acceso, como por ejemplo usar dispositivos de audio.
En la pestaña “AVANZADO“:
- El directorio personal, el intérprete de comandos, el grupo principal y el ID del usuario se adivina automáticamente dependiendo del perfil seleccionado, por lo que no debes de modificarlos.
Para modificar un usuario existente
Selecciona el usuario que quieres modificar y pulsa el botón Propiedades. Aparecerá una ventana similar a la usada para añadir usuarios nuevos, permitiéndote modificarlos.
Para borrar un usuario existente
Selecciona el usuario o usuarios que quieres borrar y pulsa el botón Borrar en la pestaña Usuarios, debido a la importancia de estos datos, se te pedirá confirmación para cada usuario que quieras borrar.
Por razones de seguridad, el directorio personal de los usuarios borrados no se borrará.
Para añadir un grupo nuevo
Pulsa el botón “Gestionar Grupos” y pulsa “Añadir grupo”, aparecerá una ventana nueva pidiendo los datos del grupo nuevo:
- Nombe del grupo.
- ID del grupo.
- Opcionalmente puedes especificar los usuarios que pertenecerán a este grupo.
Para modificar un grupo existente
Pulsa el botón “Gestionar Usuarios”, seleccionas el grupo y pulsa el botón Propiedades. A continuación aparecerá una ventana similar a la de añadir grupo, donde podrás modificar los datos.
Para borrar un grupo existente
Pulsa el botón “Gestionar Usuarios”, seleccionas el grupo y pulsa el botón Borrar, debido a la importancia de estos datos, se te pedirá confirmación para cada grupo que quieras borrar.
MODO TEXTO CON LA TERMINAL EN UBUNTU
Para gestionar los usuario debes usar el comando sudo. Estos son los comandos:
1. Añadir usuarios y grupos
Para añadir un usuario.
sudo adduser nombreusuario
El sistema pedirá alguna información adicional sobre el usuario y un password o clave. Por defecto, se crea un grupo con el nombre del usuario y éste será el grupo por defecto. Este comportamiento se configura en /etc/adduser.conf.
Para ver las opciones de añadir usuarios utiliza el comando man.
sudo man adduser
Para añadir nuevos grupos, cuando el número de usuarios es numeroso y heterogéneo y así simplificamos el tema. Esto se hace con el comando addgroup. Por ejemplo:.
sudo addgroup nombregrupo
Para añadir un nuevo usuario a un grupo existente puedes hacer lo siguiente:
sudo adduser nombreusuario nombregrupo
Para añadir un usuario existente a un grupo existente puedes usar el mismo comando:
sudo adduser nombreusuario nombregrupo
2. Eliminar usuarios y grupos
Para eliminar usuarios y grupos se emplean userdel y groupdel respectivamente. Por ejemplo: Para eliminar el usuario juan:
sudo userdel juan
Si además se indica la opción -r, también se borrará el directorio personal del usuario con todo su contenido:
sudo userdel -r juan
Para eliminar el grupo profesores:
sudo groupdel profesores
3. Modificar usuarios y grupos
Para modificar las características de los usuarios y grupos se emplean los comandos usermod y sudo groupmod. Algunos ejemplos:
Para cambiar el directorio de inicio del usuario juan para que sea /home/profesores/juan. La opción -m hace que mueva el contenido del antiguo directorio al nuevo emplazamiento.
sudo usermod -d /home/profes/juan -m
Para cambiar el grupo inicial del usuario juan para que sea profesores.
sudo usermod -g profesores juan
Para cambiar el nombre del usuario juan. El nuevo nombre es jorge.
sudo usermod -l jorge juan
Para cambiar el nombre del grupo profesores a alumnos.
sudo groupmod -n alumnos profesores
4. Ficheros relacionados con la gestión de usuarios y grupos
Algunos ficheros relacionados con las cuentas de usuario son:
- /etc/passwd: contiene información sobre cada usuario: ID, grupo principal, descripción, directorio de inicio, shell, etc. También contiene el password encriptado, salvo que se usen shadow passwords.
- /etc/shadow: contiene los passwords encriptados de los usuarios cuando se emplean shadow passwords.
- /etc/group: contiene los miembros de cada grupo, excepto para el grupo principal, que aparece en /etc/passwd.
Ficheros importantes en la configuración del sistema |
/etc/passwd → se guarda la definición de los usuarios del sistema.
/etc/shadow → define los valores de contraseña de un usuario. /etc/group → para ver los grupos que tiene el sistema. |
|
Vamos ha describir cada uno de los campos de que dispone el fichero “shadow”, para editarlo tienes que tener privilegios de root. Empezaremos de izquierda a derecha y teniendo en cuenta que cada campo está separado por dos puntos tal y como indica la figura de arriba. |
1.- Nombre del usuario
2.- Contraseña cifrada del usuario. Si está vacío el campo el usuario no tiene contraseña. Si tiene “*LK*”, la cuenta está bloqueada. “*RETIRED*”, si la cuenta esta retirada. Si tiene “*” la contraseña se pondrá mas tarde. 3.- Número de días que han pasado desde el 1 de enero de 1970 hasta que se cambio por última vez la contraseña. 4.- El número de días que deben de pasar hasta que el usuario pueda volver a cambiar la contraseña. Un 0 indica que se puede cambiar ya. 5.- Número de días validos con la contraseña actual. 99999 es lo max. que se puede poner. 6.- Numero de días de antelación con el que se avisa a un usuario de que debe de cambiar su contraseña. 7.- después de caducada la contraseña cuantos días quieres que le funcione la cuenta. Si hay -1 ningún día. |
|
jose:x:1000:100:jose antonio:/home/jose:/bin/bash |
Vamos a describir a continuación cada uno de los campos del fichero passwd de un usuario cualquiera:
1.- Login del usuario. Debe de tener entre 1 y 8 caracteres. 2.- Clave del usuario. Si aparece una x es que está encriptada en /etc/shadow. 3.- Número de identificación del usuario (UID) 4.- Número de identificación del grupo (GID) al que pertenece el usuario. 5.- Comentario sobre el usuario (en este ejemplo aparece el nombre) 6.- Directorio del HOME del usuario. 7.- Shell de conexión del usuario. Nota: para quitar la contraseña a un usuario por medio de estos ficheros, en/etc/passwd borro la x y en /etc/shadow borro el segundo campo (El de la clave). No se borran los dos puntos aunque este vacio el campo |
Comandos aplicables a Usuarios y Contraseñas |
Comandos utilizados como root:
|
Responder