miércoles, 9 de diciembre de 2015

ADMINISTRACIÓN DE USUARIOS Y GRUPOS

1. CONTENIDO
  • Definición

Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se convierte en algo no solo rutinario, sino importante, además de ser un elemento de seguridad que mal administrado o tomado a la ligera, puede convertirse en un enorme hoyo de seguridad. En este manual aprenderás todo lo necesario para administrar completamente tus usuarios en GNU/Linux.
En el caso de que muchas personas tengan acceso al sistema, es necesario que el administrador administre a los usuarios. Para esto, se deben conocer los comandos usuales y los archivos que se configurarán.
Debe conocer los siguientes archivos importantes:
            .el archivo /etc/passwd
            .el archivo /etc/group
  • Comandos para administrar usuarios
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 añadir un usuario al sistema estableciendo users como su grupo principal:

sudo adduser --ingroup users nombreusuario



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 usermodsudo 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.
  • /etc/skel: directorio que contiene el contenido del directorio de los nuevos usuarios.



5. Algunos grupos especiales



En el sistema existen algunos grupos especiales que sirven para controlar el acceso de los usuarios a distintos dispositivos. El control se consigue mediante los permisos adecuados a ficheros de dispositivo situados en /dev. Algunos de estos grupos son:

  • cdrom: dispositivos de CD–ROM. El dispositivo concreto afectado depende de donde estén conectadas las unidades de CD–ROM. Por ejemplo, /dev/hdc.
  • floppy: unidades de diskette, por ejemplo, /dev/fd0
  • dialout: puertos serie. Afecta, por ejemplo, a los modems externos conectados al sistema. Por ejemplo, /dev/ttyS1
  • audio: controla el acceso a dispositivos relacionados con la tarjeta de sonido. Por ejemplo, /dev/dsp, /dev/mixer y /dev/sndstat.

Para dar acceso a un usuario a uno de estos servicios, basta con añadirlo al grupo adecuado. Por ejemplo, para dar acceso al usuario juan a la disquetera haríamos:

sudo adduser juan floppy



Alternativamente, para sistemas pequeños suele ser mejor"desproteger" los dispositivos adecuados para que todos los usuarios puedan usarlos, evitando tener que recordar añadir usuarios a los grupos adecuados. Por ejemplo, para dar acceso de lectura al CD–ROM (suponiendo que esté en /dev/hdc) y de lectura/escritura a la disketera a todos los usuarios, haríamos:

sudo chmod a+r /dev/hdc

sudo chmod a+rw /dev/fd0*



6. Límites a los usuarios



En los sitemas UNIX/LINUX existe la posibilidad de limitar recursos a los usuarios o grupos, por ejemplo, el máximo numero de logins que puede realizar simultáneamente un usuario, el máximo tiempo de CPU, el máximo numero de procesos etc. Estos límites se controlan en LINUX a través del fichero /etc/security/limits.conf. También es posible limitar los tiempos de acceso a los usuarios. Una de las formas de hacerlo es con el servicio timeoutd. Este servicio se instala a través de la distribución y, una vez instalado aparece un fichero de configuración /etc/timeouts. En este fichero de configuración las lineas en blanco o que comienzan por # no son interpretadas. El resto de las líneas debe tener alguna de las dos siguientes sintaxis:

TIMES:TTYS:USERS:GROUPS:MAXIDLE:MAXSESS:MAXDAY:WARN



o bien

TIMES:TTYS:USERS:GROUPS:LOGINSTATUS



Ejemplos de límites horarios:



El ususario curso no puede hacer login durante el fin de semana:

SaSu:*:curso:*:NOLOGIN



Sólo el ususario root puede acceder desde las consolas tty1 a tty6:

Al:tty1,tty2,tty3,tty4,tty5,tty6:root:*:LOGIN

Al:tty1,tty2,tty3,tty4,tty5,tty6:*:*:NOLOGIN



Sólo el usuario root puede acceder entre las 15:00 y las 16:00h de cada dia:

Al1500-1600:*:root:*:LOGIN

Al1500-1600:*:*:*:NOLOGIN



Una vez que se ha preparado el fichero /etc/timeouts es necesario reiniciar el servidor timeoutd:

/etc/init.d/timeoutd restart

Stopped /usr/sbin/timeoutd (pid 2412).

Starting /usr/sbin/timeoutd...



Es importante destacar que este proceso no actúa durante el proceso de login lo que da lugar a que, aunque un usuario tenga prohibido el acceso a una máquina en un momento determinado, inicialmente puede entrar y sólo, una vez que se ejecute el proceso timeoutd, será expulsado del sistema. Para conseguir que durante el proceso de login se revisen las condiciones de timeouts se debe incluir las siguientes lineas en el fichero /etc/profile:



Comprueba restricciones de timeoutd (ver timeoutd, timeouts(5))

/usr/sbin/timeoutd ‘whoami‘ ‘basename \‘tty\‘‘ || exit



Con esta línea incluso aunque el servicio timeoutd este parado si en el fichero /etc/timeouts se prohibe el acceso a un usuario éste no podrá entrar en el sistema.



7. Límites de cuotas



El sistema de cuotas provee un mecanismo de control y uso del espacio de disco duro disponible en un sistema. Se pueden establecer limites en la cantidad de espacio y el número de ficheros de que puede disponer un usuario o grupo. En las cuotas hay cuatro números para cada límite: la cantidad actual ocupada; el límite soft (quota propiamente dicha); el límite hard (espacio sobre cuota), y el tiempo que resta antes de eliminar el exceso entre soft y hard. Mientras que el límite soft puede ser superado temporalmente, el límite hard nunca puede rebasarse.



Administrando el sistema de cuotas:

Para implementar el sistema de cuotas es necesario instalar algún paquete de control de dicho sistema. En Ubuntu hay un paquete denominado cuota que instala todo lo necesario para implementar todo el sistema. Una vez instalado tenemos que realizar una serie de pasos para activar el mecanismo de cuotas. Estos pasos son:

7.1. Configuración del kernel

Antes de instalar el sistema de cuotas debe disponerse de un kernel con la opción de quota–system habilitada. Esto se consigue en el proceso de compilación de un nuevo kernel respondiendo yes a la pregunta de Disk QUOTA support Los kernels precompilados que se distribuyen con Debian (paquetes kernel-image.ya tienen esta opción habilitada.

7.2. Elección del sistema de ficheros sobre el que se aplican las cuotas

Una vez dispuesto el kernel, hay que seleccionar que sistema de ficheros necesitan tener aplicadas las cuotas. Lo normal es que solo el sistema donde están las cuentas de usuarios tengan cuotas, aunque es recomendable que tenga cuotas todo sistema de ficheros donde los usuarios puedan escribir. Para habilitar las cuotas en un sistema de ficheros hay que editar el fichero /etc/fstab e incluir las opciones usrquota y grpquota:

# /etc/fstab: static file system information.

# file system mount point type options dump pas

/dev/hda5 / ext2 defaults,errors=remount-ro,usrquota,grpquota 0



7.3. Habilitar las cuotas



Para instalar los ficheros de cuotas se debe ejecutar el comando:

quotacheck -avug

Scanning /dev/hda5 [/] done

Checked 4943 directories and 57624 files

Using quotafile /quota.user

Updating in-core user quotas

Using quotafile /quota.group

Updating in-core group quotas



La primera vez que se ejecuta este comando sirve para crear los ficheros de quotas: quota.user y quota.group



7.4. Especificar cuotas para usuarios o grupos



Para editar la cuota de un usuario o grupo se usa el programa edquota con la opción -u para editar las cuotas de usuarios y con la opcion -g para editar las opciones de grupo. Sólo hay que editar los números que están detrás de soft y hard. El período de gracia que hay entre el límite soft y el hard puede cambiarse con:

edquota -t



La mayoría de las veces los usuarios tienen la misma cuota. Una forma rápida de editar la cuota de todos los usuarios es colocarse en el directorio donde tienen sus directorios raíz cada usuario. Editar la cuota de uno de estos usuarios con los valores apropiados y, posteriormente, ejecutar:

edquota -p usuarioprototipo *



Para verificar las cuotas que tiene un usuario se utiliza el comando:

quota -v



El superusuario puede ver las cuotas de todos los usuarios con el comando:

repquota filesystem



7.5. Deshabilitar cuotas para usuarios y grupos




Para deshabilitar las cuotas de un usuario o grupo solo hay que editarlas cuotas y poner los limites a 0. Así un usuario puede usar tantos bloques e inodos como quiera.



  • Comandos para administrar grupos

creación de grupos




El comando groupadd permite añadir un grupo. Por ejemplo, si deseamos crear un grupo llamado 'administradores' ejecutaremos:



aceitunero@Pc15:~$ sudo groupadd administradores


Modificación de grupos

El comando groupmod permite modificar el nombre de un grupo o el gid del mismo. La sintaxis es:

aceitunero@Pc15:~$ sudo groupmod [-g nuevo-gid] [-n nuevo-nombre] nombre-grupo

Para cambiar el gid del grupo administradores:

aceitunero@Pc15:~$ sudo groupmod -g 2000 administradores

Eliminación de grupos

Se realiza con el comando groupdel seguido del nombre del grupo, por ejemplo:

aceitunero@Pc15:~$ sudo groupdel administradores

Eliminaría el grupo administradores. Si este grupo tuviese algún usuario, el comandogroupdel no eliminará el grupo, primero tendríamos que quitar los usuarios del grupo y posteriormente eliminar el grupo.

Añadir usuarios a un grupo

Se utiliza el comando adduser seguido del nombre del usuario y del nombre del grupo al que queremos añadirle.

Como añadir un usuario a un grupo:

aceitunero@Pc15:~$ sudo adduser juan administradores

Quitar usuarios de un grupo

Se utiliza el comando deluser seguido del nombre del usuario y del nombre del grupo del que queremos quitarle.

Para quitar a un usuario de un grupo:

aceitunero@Pc15:~$ sudo deluser juan administradores

Para más información de todos estos comandos se puede consultar la ayuda del manual ejecutando man seguido del nombre del comando, ejemplo man adduser.

Herramienta gráfica de administración de usuarios

Ubuntu dispone de una herramienta gráfica de administración de usuarios que es 'users-admin'. Para ejecutar este administrador podemos abrir una consola y ejecutar users-admin. Por ejemplo:

aceitunero@Pc15:~$ users-admin

También podemos ejecutar esta herramienta administrativa desde Sistemas > Administración > Usuarios y grupos.

Es una herramienta intuitiva que dispone de una pestaña para administrar los usuarios y otra para administrar los grupos.
  • Ejemplos
Ejemplo 1


Agregar un usuario a un grupo determinado al momento de crearlo
Usemos un ejemplo, crearemos el usuario pedro arriba mencionado, y este pertenecera al grupo usuarios, por defecto, pero tambien estara en el grupo internet.
   useradd -m -g usuarios -G internet pedro
En caso que el grupo no exista, debemos crearlo primero, el ejemplo arriba asume que el grupo existe. Para verificar si existe o no, usuamos:
   cat /etc/group | grep contabilidad
Si no existe lo creamos con:
   groupadd contabilidad
Agregar un usuario existente a un grupo existente
Si el usuario ya existe y el grupo tambien usamos:
   usermod -a -G contabilidad pedro
Cambiar un usuario de grupo
Supongamos que no queremos que pedro pertenezca al grupo usuarios, y que este en el grupo retirados.
   usermod -g retirados pedro

Ejemplo 2

# adduser mfernandez



Y el sistema nos preguntará los datos del usuario, además de una password de acceso.

Por defecto, se creará un grupo con el nombre del usuario y éste será el grupo por defecto. Este comportamiento puede modificarse en /etc/adduser.conf.



Ejemplo: Si queremos añadir un nuevo usuario, llamado enavas al sistema, estableciendo users como su grupo principal, podemos hacerlo de la siguiente manera:



# adduser –ingroup users enavas

Ahora bien, si lo que queremos es añadir un usuario a un grupo existente, podemos hacerlo de la siguiente manera:
# adduser usuario grupo

Ejemplo: Supongamos que queremos añadir el usuario enavas al grupo plugdev:

# adduser enavas plugdev

El comando anterior añade el usuario enavas, previamente creado, al grupo plugdev.

Añadir grupos.
Para añadir grupos locales al sistema, podemos emplear el comando addgroup. 
También podemos ajustar algunas preferencias a la hora de crear usuarios en el fichero: /etc/adduser.conf.

Podemos añadir un nuevo grupo local al sistema con el comando addgroup.

# addgroup grupo

Ejemplo: Si queremos añadir el grupo profesores al sistema, ejecutaremos:

# addgroup profesores

Una última cosa: De forma alternativa, en lugar de usar los comandos adduser y addgroup, podemos añadir usuarios y grupos empleando otros comandos como useradd y groupadd. Estos comandos leen información de configuración del fichero /etc/login.defs.

Eliminar usuarios.
Para eliminar usuarios podemos usar el comando userdel.

Ejemplo: Si queremos eliminar el usuario local dfernandez, ejecutaremos el siguiente comando:

# userdel dfernandez

Si, además, empleamos el parámetro -r, también se borrará el directorio personal del usuario con todo su contenido. - See more at: http://enavas.blogspot.pe/2008/11/el-shell-de-linux-usuarios-y-grupos.html#sthash.36quaprx.dpuf
Ejemplo:

# userdel -r dfernandez

Eliminar grupos.
Para eliminar grupos podemos emplear el comando groupdel.

Ejemplo: Si queremos eliminar el grupo alumnos del sistema local, ejecutaremos:

# groupdel alumnos

Modificar usuarios y grupos
Para modificar las características de los usuarios y grupos se emplean los comandos usermod y groupmod.

Ejemplo: Imaginemos que queremos cambiar el directorio home del usuario dgonzalezs01 para que sea /home/alumnos/dgonzalezs01.

# usermod -d /home/alumnos/dgonzalezs01 -m

La opción -m hace que mueva el contenido del antiguo home al nuevo emplazamiento.

Si lo que queremos es cambiar el grupo inicial al que pertenece el usuario, haremos lo siguiente:
# usermod -g grupo usuario

Ejemplo: Cambia el grupo inicial del usuario jmartinezd01 para que sea profesor.
# usermod -g profesor jmartinezd01

Si queremos cambiar el nombre del usuario:
# usermod -l nuevonombre nombreactual

Ejemplo:
# usermod -l cfernandez carlosfernandez

El nuevo nombre del usuario carlosfernandez será cfernandez.

Y si queremos cambiar el nombre de un grupo, lo haremos de la siguiente manera:
# groupmod -n nuevonombregrupo nombreactualgrupo

Ejemplo:
# groupmod -n profesores profes

Cambia el nombre del grupo profes a profesores.

2. Resumen


GNU/Linux es un sistema operativo multiusuario, y los usuarios pueden pertenecer a uno o varios grupos.

La existencia de grupos hace más sencilla la administración del sistema, pues permite garantizar permisos y demás a grupos en lugar de tener que hacerlo usuario por usuario.



Ahora es común que cuando se crea un usuario en GNU/Linux este se agregue a un determinado grupo, en algunas distribuciones es el grupo users, y en otros casos a un grupo con el mismo nombre que el usuario. Así, el usuario pedro estará en el grupo pedro por defecto.

Los usuarios en Unix/Linux se identifican por un número único de usuario, User ID, UID. Y pertenecen a un grupo principal de usuario, identificado también por un número único de grupo, Group ID, GID. El usuario puede pertenecer a más grupos además del principal.



3. Summary

Operating multiuser UN GNU / Linux system is , and users can belong to one or several groups.

The existence of groups makes it easier to System Administration , allowing one Ensure permits and other groups rather than having to do it on a per user .



It is now common user When the UN was created in GNU / Linux esta UN will add a certain group, in some distributions is Group users , and in other cases of a group with the same as the user name of the UN. Thus, the user pedro pedro will be in the default group .

Users on Unix / Linux are identified by a unique user number , user ID , UID. And they belong to the UN main user group , also identified by a unique group number , group ID, GID . The user can belong one more Groups: In addition to the Director.



4. Apreciacion del Equipo

  • Es muy util conocer estos comandos ya que el sistema linux es multiusuario y estos comandos nos ayudaran a administrar y controlar los diferentes grupos y usuarios en Linux- Ubuntu.

  • El beneficio de que linux es un software libre, aporta un gran beneficio a nivel empresarial ya que ayudara a mantener organizada nuestra empresa gerarquicamente a través de grupos según los niveles.
5. Conclusiones

  • Linux es un sistema multiusuario, por lo tanto, la tarea de añadir, modificar, eliminar y en general administrar usuarios se convierte en algo no solo rutinario, sino importante, además de ser un elemento de seguridad que mal administrado o tomado a la ligera, puede convertirse en un enorme hoyo de seguridad. En este manual aprenderás todo lo necesario para administrar completamente tus usuarios en GNU/Linux.

  • Los usuarios y los grupos son usados ​​en los sistemas GNU/Linux para el control de los accesos —es decir, determina qué usuarios y servicios están autorizados para acceder a los archivos, directorios y dispositivos periféricos presentes en el sistema—. Linux ofrece de forma predefinida mecanismos de control de acceso relativamente simples/básicos. 
6. Recomendaciones

  • Para realizar administración de usuarios de manera gráfica, sin uso de comnados, se necesitarían modificar los archivos ‘passwd’ o ‘Group’, que se encuentran en el directorio ‘etc/’.

  • “Cualquiera que sea el tipo de usuario, todas las cuentas se encuentran definidas en el archivo de configuración 'passwd', ubicado dentro del directorio /etc. Este archivo es de texto tipo ASCII, se crea al momento de la instalación con el usuario root y las cuentas especiales, más las cuentas de usuarios normales que se hayan indicado al momento de la instalación.
7. Glosario de 
Términos

Usuario root
  • También llamado superusuario o administrador.
  • Su UID (User ID) es 0 (cero).
  • Es la única cuenta de usuario con privilegios sobre todo el sistema.
  • Acceso total a todos los archivos y directorios con independencia de propietarios y permisos.
  • Controla la administración de cuentas de usuarios.
  • Ejecuta tareas de mantenimiento del sistema.
  • Puede detener el sistema.
  • Instala software en el sistema.
  • Puede modificar o reconfigurar el kernel, controladores, etc.
Usuarios especiales
  • Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.
  • Se les llama también cuentas del sistema.
  • No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos privilegios de root.
  • Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad.
  • No tienen contraseñas pues son cuentas que no están diseñadas para iniciar sesiones con ellas.
  • También se les conoce como cuentas de "no inicio de sesión" (nologin).
  • Se crean (generalmente) automáticamente al momento de la instalación de Linux o de la aplicación.
  • Generalmente se les asigna un UID entre 1 y 100 (definifo en /etc/login.defs)
Usuarios normales
  • Se usan para usuarios individuales.
  • Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.
  • Cada usuario puede personalizar su entorno de trabajo.
  • Tienen solo privilegios completos en su directorio de trabajo o HOME.
  • Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.
  • En las distros actuales de Linux se les asigna generalmente un UID superior a 500.
8. Linkografia
  • http://enavas.blogspot.pe/2008/11/el-shell-de-linux-usuarios-y-grupos.html
  • https://papaur00.wordpress.com/todo-sobre-el-linux-%C2%BFa-que-es-mejor-que-xp/ubuntu-usuarios-permisos-y-cuotas/
  • https://www.pedroventura.com/linux/administracion-de-usuarios-en-linux-crear-borrar-modificar-usuarios-y-grupos/
  • https://www.garron.me/es/gnu-linux/agregar-usuario-grupo-linux.html
  • http://principiante-linux.blogspot.pe/2007/02/usuarios-en-linux-desde-lnea-de.html
VIDEO DE APOYO



DIAPOSITIVAS



3 comentarios:

  1. Excelente trabajo bien desarrollado incluyendo vídeos e imágenes relacionados al tema. La PRESENTACIÓN bien desarrollado. Felicitaciones . Saludos

    ResponderEliminar
  2. Excelente trabajo bien desarrollado incluyendo vídeos e imágenes relacionados al tema. La PRESENTACIÓN bien desarrollado. Felicitaciones . Saludos

    ResponderEliminar