01.-gestion de usuarios, grupos y contraseñas
Post on 25-Dec-2015
22 Views
Preview:
DESCRIPTION
TRANSCRIPT
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 1 de 13
Usuarios, grupos y contraseñas
Puesto que Linux es un sistema multiusuario, permite que varios usuarios usen el sistema simultáneamente. Se hace necesario que cada usuario no pueda acceder a los documentos de los demás, además no todos los usuarios deberían poder instalar
programas, modificar ficheros importantes del sistema u otras cosas importantes.
Por ello Linux establece login y password (nombre y contraseña) para cada usuario. Además existe el administrador del sistema o superusuario, cuyo login es root, que
tiene acceso a todo y permisos para todo.
Las contraseñas son almacenadas de forma cifrada, por lo que es imposible acceder a ellas (si se guardaran simplemente en un fichero de texto, sería muy fácil acceder
y romper el sistema de seguridad).
Importante
Seguridad: debemos usar contraseñas que no sean cortas y compuestas de letras mayúsculas y minúsculas, dígitos e incluso signos. Si usamos una palabra del
diccionario, los crackers pueden fácilmente averiguar nuestra contraseña, pues existen programas que van probando con cada una de las palabras del diccionario.
Un grupo es un conjunto de usuarios que comparten las mismas características. La idea de grupo permite al administrador del sistema dar ciertos permisos al grupo
(por ejemplo: autorización para usar la grabadora), evitando tener que dárselos a cada usuario individualmente.
Todo usuario debe pertenecer al menos a un grupo. Además existen otros usuarios,
aparte de los reales, que los usa el sistema para determinadas operaciones. Estos usuarios del sistema (no reales) no se pueden "logear", es decir no se puede entrar
al sistema tecleando un login de estos.
El usuario root o superusuario no debe entrar al sistema con el login de root, sino que debe tener además un login y password para entrar al sistema. Sólo cuando necesite realizar acciones especiales, el sistema le pedirá la contraseña de root y
podrá acceder. Aunque es posible acceder como root a un sistema Linux, no es recomendable.
Toda la información sobre usuarios, grupos y contraseñas se guarda en los
archivos:
/etc/passwd (información sobre usuarios)
/etc/group (información sobre grupos)
/etc/shadow (contraseñas cifradas)
/etc/gshadow (contraseñas cifradas de los grupos)
[normalmente no se usa este fichero]
En estos archivos de texto, se almacena la información línea a línea (cada una es
un usuario o un grupo).
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 2 de 13
Fichero /etc/passwd
Contiene una línea por cada usuario creado en el sistema con la información
relevante sobre cada usuario. La información se compone de varios campos separados por el carácter de dos puntos (:). Responde al esquema:
usuario : x : UID : GID : comentarios : directorio_home : shell
usuario: es el login o nombre de usuario (nombre único para cada
usuario) x: contraseña: aparece una x; la contraseña se encuentra cifrada en
/etc/shadow
UID: User IDentifier (nº de Identidad de Usuario). Es único. Debe ser un entero≥0 (el cero se reserva para root y del 1 al 99 se reservan
para tareas del sistema). Usar de 100 en adelante. GID: nº de Identidad de Grupo (el cero se reserva para el grupo root) comentarios: nombre real u otros comentarios sobre el usuario
(puede contener espacios) directorio_home: directorio de inicio del usuario
shell: intérprete de comandos (normalmente bash). Si ponemos /bin/false el usuario no podrá ejecutar ningún comando del sistema
Ejemplo:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
...
identd:x:100:65534::/var/run/identd:/bin/false
sshd:x:101:65534::/var/run/sshd:/bin/false
gdm:x:102:103:Gnome Display
Manager:/var/lib/gdm:/bin/false
dani:x:1000:100::/home/dani:/bin/bash
yaiza:x:1001:1001:,,,:/home/yaiza:/bin/bash
Tecleando en un terminal cat /etc/passwd nos muestra el contenido del fichero /etc/passwd
Observamos cómo el primer usuario que aparece (primera línea) es root.
A continuación una serie de usuarios (no reales) del sistema. Por último, los usuarios "dani" y "yaiza"(dos últimas líneas).
Podemos comprobar cómo en esta distribución de Linux los números de usuarios empiezan desde 1000 en adelante (en otras distribuciones lo hacen desde 500; los
UIDs comprendidos entre 1 y 499 están reservados para propósitos administrativos,).
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 3 de 13
Fichero /etc/group
Un grupo local es la entidad administrativa capaz de incluir un conjunto de usuarios o incluso otros grupos, de tal forma que todos los privilegios concedidos a ese grupo, se heredan de forma directa por los usuarios o grupos que de él dependen.
Los GID y los nombres asociados se almacenan en el archivo /etc/group,
Cada una de las líneas representa un grupo y responde al esquema:
grupo : x : GID : lista_usuarios
grupo: es el nombre del grupo x: contraseña: aparece una x; la contraseña se encuentra cifrada en
/etc/gshadow. Si este campo aparece vacío, significa que el grupo no necesita contraseña.
Un usuario puede cambiar su grupo por defecto mediante la orden newgrp. Si el grupo está protegido mediante una contraseña, el usuario necesitará esta contraseña para realizar el cambio de grupo si no pertenece a este grupo.
GID: nº de Identidad de Grupo (el cero se reserva para el grupo root) lista_usuarios: lista de usuarios que pertenecen al grupo separados por
comas. También se pueden añadir usuarios de otros grupos, con lo que tendrían todos los privilegios de este grupo.
Ejemplo del archivo /etc/group:
Todos los usuarios Linux pertenecen a uno o más grupos. Puedes listar los grupos a
los que perteneces ejecutando el comando groups.
Cuando se crean nuevas cuentas de usuario en Ubuntu (incluidas las creadas
durante el proceso de instalación), se crea un grupo predeterminado para cada uno
de esos usuarios, normalmente con el mismo nombre que el usuario. Ese grupo es
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 4 de 13
el grupo del cual dicho usuario es miembro predeterminado cuando ingresa en el
sistema.
Si se desea que el sistema no cree automáticamente un grupo con el nombre de
usuario, entonces, se editará el fichero /etc/adduser.conf y n la variable
USERGROUPS con el valor no. Además se editará el fichero
/etc/default/useradd y se eliminará el comentario de la línea GROUP=100, que
hará que el grupo de logueo sea el users.
Linux crea diferentes grupos tras la instalación:
- users. Grupo general de usuarios. Normalmente los usuarios que creemos son asignados a este grupo.
- ssh. Grupo al que pertenecerán usuarios a los que se les permita conexión remota al sistema por SSH.
- dhcp. Los usuarios que pertenezcan a este grupo podrán administrar
el servicio DHCP del equipo
- root. A este grupo pertenece el usuario root y aquellos usuarios que
administran casi por completo el equipo local. Root tiene acceso completo y sin restricciones al equipo o dominio.
- admin. Grupo con privilegios de administración en el sistema al que
pertenece el usuario que se introdujo en la instalación del sistema operativo. Los invitados tienen predeterminadamente el mismo acceso
que los miembros del grupo Users, excepto la cuenta Invitado, que tiene más restricciones.
Fichero /etc/shadow Archivo ascii de acceso restringido que almacena para cada usuario las claves encriptadas y la información relacionada con las mismas.
usuario: contraseña_cifrada:lastchg:min:max:warn:inactive:expire::
usuario Nombre del usuario, debe coincidir con el archivo /etc/passwd password Se encuentra encriptada
lastchg Ultima fecha de modificación, tomada en números, partiendo del 1/1/1970
min Cuanto debe esperar para permitir cambiar la contraseña al usuario
max Cada cuanto debe cambiar la contraseña warn Cuantos días antes se le informara al usuario que debe cambiar
la contraseña. inactive Si vale cero (0) al vencer maxdays y no cambio la contraseña se
bloquea la cuenta, si vale –1, puede ingresar y cambiar la contraseña.
expire Cuántos días faltan para que expire.
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 5 de 13
Aunque es posible, no es recomendable gestionar los usuarios y grupos del
sistema, editando manualmente los archivos /etc/passwd y /etc/group, a través del usuario root.
El sistema linux proporciona un conjunto de órdenes que permiten manipular los usuarios, los grupos y sus respectivas contraseñas.
GESTIÓN DE USUARIOS. Añadir usuarios al sistema:
useradd
El uso de este comando es de la siguiente forma:
useradd -g smr -G smr -d /home/crispi -s /bin/bash -m -k /etc/skel
crispi
-g indica el nombre del grupo al que va a pertenecer el usuario, que será su grupo
primario. En este caso el grupo debe de estar previamente creado.
-G indica los grupos suplementarios del nuevo usuario
-d indica el home del usuario, en este caso /home/crispi.
-s nos indica el shell que va a usar el usuario por defecto, en este caso /bin/bash
-m indica que se cree el directorio en caso de no existir aún.
-k indica que se copien los archivos de /etc/skel al directorio home del usuario que se va a crear. (El directorio /etc/skel contiene archivos que son configuraciones iniciales).
nombre-usuario que para éste ejemplo es crispi.
adduser
Éste comando es una forma más fácil de crear usuarios, su uso es muy simple,
solo ejecutamos en la terminal adduser nombreUsuario y se ejecutarán los pasos necesarios para la creación de un nuevo usuario tal y como se ve en el
siguiente ejemplo:
root@Ubuntu:~# adduser crispi Añadiendo usuario ‘crispi′ … Agregando nuevo grupo `crispi′ (1001) … Agregando nuevo usuario `crispi′ (1001) con grupo `crispi′ … Creando el directorio personal ‘/home/crispi′ … Copiando archivos desde ‘/etc/skel’ … Introduzca la nueva contraseña de UNIX: Vuelva a escribir la nueva contraseña de UNIX: passwd: contraseña actualizada correctamente
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 6 de 13
Cambiando la información de usuario para crispi Introduzca el nuevo valor, o presione ENTER para el predeterminado Nombre completo []: Número de habitación []: Teléfono del trabajo []: Teléfono de casa []: Otro [] ¿Es correcta la información? [y/N] y root@Ubuntu:~#
Eliminar usuarios del sistema:
Desde la línea de comandos podemos hacer uso de los comando userdel y
deluser para eliminar usuarios, además también podemos utilizar la herramienta gráfica correspondiente.
userdel Es considerado una utilidad de bajo nivel, y se recomienda más usar deluser en
lugar de éste comando. Podemos usar 2 opciones con éste comando: - una de ellas es -f ó –force que forzará la eliminación del usuario aunque
éste se encuentre logueado, también eliminará el directorio home y los
correos, aunque otros usuarios usen el mismo home y el mismo spool de correo, ésta opción no se recomienda dado que puede dejar el sistema con inconsistencias.
- La segunda opción que podemos usar con éste comando es -r ó –remove que hará que se eliminen el directorio home y el spool de correo, si no se hace uso de la opción -f el usuario no podrá ser eliminado si se encuentra
logueado en el sistema Ejemplo : root@Ubuntu:~# userdel -r crispi
deluser
Este comando elimina usuarios del sistema acorde a las configuraciones que se encuentren en /etc/deluser.conf y las opciones que se le pasen al comando al
momento de ejecutarlo. Por defecto deluser eliminará un usuario sin eliminar ninguno de los archivos del usuario, podemos hacer uso de la opción –remove-home para eliminar el directorio home y los archivos de correo del usuario, de
igual forma podemos usar –remove-all-files lo que eliminará todos los archivos que pertenecen al usuario y usando –remove-all-files ya no es necesario que usemos la opción –remove-home puesto que ya va incluida.
deluser también nos permite hacer un respaldo de los archivos de usuario que queremos eliminar haciendo uso de la opción –backup que creará un archivo
con el nombre del usuario que estamos eliminando. El archivo se creará de la forma usuario.tar.(gz|bz2) y será guardado en el directorio que se le pase a la opción –backup-to, por defecto el archivo se guardará en el directorio en el que
nos encontremos actualmente, la forma de usar este comando es como se muestra a continuación.
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 7 de 13
root@Ubuntu:~# deluser –remove-all-files –backup crispi Buscando archivos para respaldar/eliminar… Haciendo copia de seguridad en . de los archivos que serán borrados… backup_name = ./crispi.tar/bin/tar: Eliminando la `/’ inicial de los nombres Removiendo archivos … Removiendo usuario crispi… Terminado.
Modificar usuarios del sistema
Usermod Es un comando que nos permite modificar aspectos de las cuentas de los usuarios del sistema, tales como su home, poner tiempos de expiración a las
cuentas, entre otras que veremos a continuación.
Sintaxis: usermod [-u uid ] [-d directory] [-m] [-g gid ] [-G gid [,gid …][-s shell-inicio][ -c
“comentario”][-e dias] [-f fecha] [ -l nuevo-nombre] [-L|-U] usuario
OPCION Significado -d ó -home nos creará un nuevo directorio HOME para el usuario
-e ó –expire date con la que especificamos la fecha en la que la cuenta
expirará, la fecha se pasa con el formato AAAA-MM-DD.
-g ó –gid seguida de un GID de un grupo existente cambia el ID del
grupo inicial del usuario.
-G ó –groups seguida de la lista de grupos alternos a los que pertenece o
queremos que pertenezca el usuario
-l ó –login modificar el login del usuario, es decir su nombre de
usuario, el nombre de la carpeta home del usuario
cambiará también para reflejar el cambio.
-L ó –lock desactivamos un password.
-s ó –shell modificamos el shell de inicio del usuario.
-u ó –uid modificar el id del usuario.
-m conjuntamente se moverán todos los archivos del HOME
viejo al nuevo, de igual forma se creará el directorio en
caso de no existir.
-f ésta opción recibe un valor entero y que por defecto es -1,
si le pasamos un valor 0, la cuenta se desactivará
inmediatamente cuando expire la misma.
passwd Su utilidad no es solo modificar o eliminar una contraseña, sino también activar, obligar a cambiar la contraseña, caducar, etc
Sintaxis: passwd [ opciones ] [ usuario [ contraseña] ]
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 8 de 13
OPCIÓN UTILIDAD -d Borra la contraseña del usuario especificado.
-e Fuerza la caducidad de la contraseña del usuario
especificado.
--help Muestra una ayuda breve sobre el comando passwd
-i INACTIVE Si la contraseña de la cuenta lleva caducada
INACTIVE días, entonces la cuenta será
desactivada.
-k El cambio de contraseña sólo tiene lugar si la misma
está caducada.
-l Bloqueo de la cuenta indicada.
-n MIN_DAYS Obliga a que la contraseña se cambie, como muy
pronto, cada MIN_DAYS días.
-q Modo silencioso.
-S Informa del estado de la contraseña.
-u Desbloqueo de la cuenta indicada.
-w WARN_DAYS Preaviso de la fecha de caducidad.
-x MAX_DAYS Obliga a que la contraseña se cambie, como muy
tarde, cada MAX_DAYS días.
Ejemplos:
# passwd pruebas -x 180 -w 5 -i 15
La clave del usuario “pruebas” caducara pasados 180 días, que le avisara durante los cinco últimos días de validez de la clave, y que si tras pasados 15
días sin modificar la clave se bloqueara.
$ sudo passwd javier -w 3 -x 45 -n 2
La contraseña del usuario javier caducará a los 45 días, se le avisará con 3 días de antelación y la contraseña la tendrá que cambiar antes de dos días.
chage
Con este comando podemos especificar la caducidad de la cuenta de un usuario concreto, no sólo de su clave.
Echando un vistazo a la ayuda del comando podremos ver la función de cada uno
de los parámetros:
$ chage –help
Sintaxis: chage [opciones] [USUARIO]
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 9 de 13
Opciones:
d, --lastday ULTIMO_DÍA establece el último cambio de clave a ULTIMO_DÍA
-E, --expiredate FECHA_EXP establece la fecha de caducidad de la cuenta a FECHA_EXP (en formato aaaa-mm-dd)
-h, --help muestra este mensaje de ayuda y termina
-I, --inactive INACTIV Especifica el número de días inactivos después de la expiración de la contraseña antes de bloquear la cuenta. Si el valor es 0, la cuenta no es bloqueada después que la contraseña caduca.
-l, --list muestra la información de la edad de la cuenta
-m, --mindays DÍAS_MIN establece el número mínimo de días antes de cambiar la clave a DÍAS_MIN
-M, --maxdays DÍAS_MAX establece el número máximo de días antes de cambiar la clave a DÍAS_MAX
-W, --warndays DÍAS_AVISO establece el número de días de aviso a DÍAS_AVISO
Con esta orden se puede especificar la fecha exacta en la que expirará la clave de acceso, los días permitidos tras la expiración de la cuenta hasta que se
desactiva por completo, los días de aviso, etc.
Ejemplos:
Cambiar la fecha de expiración de la cuenta al día 2011-9-28 al usuario 'fer'
# chage -E 2012-11-07 fer
Listamos los atributos de caducidad especificados para esta cuenta:
# chage -l fer
Último cambio de contraseña: oct 09, 2012
La contraseña caduca: nunca
Contraseña inactiva: nunca
La cuenta caduca: nov 07 , 2012
Mínimo número de días entre cambios de contraseña: 0
Máximo número de días entre cambios de contraseña: 99999
Número de días de aviso antes de que caduque la contraseña: 7
Cambiar número de días entre cambios de clave (15) y la caducidad por
inactividad de la clave (150)
# chage -m 15 -M 15 -I 150 fer
# chage -l fer
Último cambio de contraseña : oct 09, 2012
La contraseña caduca : nov 13, 2012
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 10 de 13
Contraseña inactiva : abr 12, 2013
La cuenta caduca : nov 06, 2012
Mínimo número de días entre cambios de contraseña: 15
Máximo número de días entre cambios de contraseña: 15
Número de días de aviso antes de que caduque la contraseña: 7
Obligar a cambiar la clave en el próximo intento de acceso
# chage -d 0 fer
Mostrar información del usuario:
id
Sintaxis: id [login]
Muestra el UID, GID del grupo por defecto y los GID de los otros grupos a que
pertenece el usuario indicado en login. Si no se especifica el usuario se utiliza el usuario actual.
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 11 de 13
Gestión de grupos.
De la misma forma que los usuarios, los grupos también los podemos agregar, eliminar y modificarlos, tenemos dos formas de hacerlo, manualmente o usar
herramientas que nos permitan hacerlo más fácil, ya sean de linea de comandos o gráficas. En la línea de comandos tenemos los comandos groupadd, groups, groupmod,
groupdel, a continuación veremos cómo usar cada uno de éstos.
groupadd
Sintaxis: groupadd groupname
Crea un grupo de usuarios vacío llamado groupname.
Automáticamente se asignara un id del grupo y se modificará el archivo /etc/group, en caso de querer especificar un ID se hace uso del modificador -g
seguido del ID que deseemos. root@Ubuntu:~# groupadd nuevogrupo
groups
Sintaxis: groups user Lista a que grupos pertenece el usuario user.
Groupmod
Sintaxis: groupmod [opciones] groupname
Podemos modificar un grupo existente con el comando groupmod, éste
comando nos permite modificar el GID (Group ID) y el nombre del grupo. La forma de usarlo es pasándole parámetros, mediante el modificador -g especificamos un nuevo GID, y con el modificador -n un nuevo nombre, y al
final de todos los parámetros ponemos el nombre del grupo que queremos que se modifique.
root@Ubuntu:~# groupmod -g 1008 nuevogrupo
Groupdel
Sintaxis: groupdel groupname
Por último veremos el comando groupdel que se usa de la misma forma que
groupadd, solo escribimos groupdel seguido del nombre del grupo que queremos eliminar, así como se ve en el siguiente ejemplo:
Añadir o retirar usuarios de grupos Para añadir se utiliza el comando :
adduser nombre-usuario nombre-grupo
Para retirar usuarios de grupos: deluser nombre-usuario nombre-grupo
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 12 de 13
MODO GRAFICO EN UBUNTU
En la gui (interfaz gráfica), de la ahora llamada "cuentas de usuario", han quitado algunas
opciones (gestionar grupos y usuarios) y básicamente, solo se puede crear/eliminar usuarios,
tipo de cuenta, idioma, contraseña y opciones de inicio
Si queremos más, hay que instalar el paquete "gnome-system-tools" en el centro de
software o escribir en el terminal:
sudo apt-get install gnome-system-tools
Este paquete contiene las siguientes aplicaciones: Users and groups > Esta es la anterior "usuarios y grupos" que nos da las opciones perdidas. Date and time Network options Services Shares (NFS and Samba) Ya podemos abrir "usuarios y grupos" desde el Dash (tecla Super o pulsando en el primer lanzador "Inicio" de la barra de Unity)
1. Para añadir un usuario nuevo:
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.
UD2.- Comandos básicos. Gestión de usuarios y grupos.
Página 13 de 13
2. 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.
3. 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á.
4. 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:
Nombre del grupo. ID del grupo. Opcionalmente puedes especificar los usuarios que pertenecerán a este grupo.
5. 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. 6. 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.
top related