miércoles, 3 de julio de 2013

Crear Usuarios y Grupos Por Terminal En Ubuntu

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 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.
  • /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.

No hay comentarios.:

Publicar un comentario