Este primer script se ha desarrollado con idea de crear un lote de usuarios para estudiantes que tengan que acceder a una Raspberry Pi. En mi caso se ha creado para que puedan realizar prácticas de programación con el lenguaje Python. Se ha utilizado una Raspberry con el módulo de sensores Sense Hat, por lo que se ha tenido que añadir una serie de permisos especiales a estos usuarios.

Los nombres asignados a los usuarios serán consecutivos (user1, user2, user3, etc), creándose tantos usuarios como se indique en la variable numUsuarios

Inicialmente todos los usuarios tendrán como contraseña de acceso la misma que su nombre de usuario. La primera vez que accedan al sistema por SSH se les solicitará una nueva contraseña.

Estos usuarios sólo podrán ver el contenido de su carpeta home y de la carpeta home del usuario administrador "pi" de la Raspberry. El contenido de las carpetas del resto de usuarios no podrá verse.

El usuario "pi" se añade al grupo asociado a cada usuario, con el fin de que ese usuario sí pueda acceder al contenidos de las carpetas home de los usuarios. La idea es que el docente utilice ese usuario "pi", y así pueda ver el trabajo de los estuadiantes y compartir con ellos algunos materiales, ya que los usuarios podrán acceder a la carpeta home del usuario "pi" como se ha comentado anteriormente.

Creación de usuarios

#!/bin/bash
numUsuarios=10
for ((i=1; i<=$numUsuarios; i++))
do
        # Añadir el usuario 
        adduser --disabled-password --gecos "" "user$i"
        # Asignar como password la misma que el nombre, p.e. user1
        echo "user$i:user$i" | chpasswd
        # Expirar la password para que solicite una nueva en el primer acceso del usuario
        sudo chage -d 0 "user$i"
        # Ocultar la carpeta del usuario a los demás
        sudo chmod 770 "/home/user$i"
        # Añadir el usuario pi al grupo del nuevo usuario para que tenga acceso a su home
        sudo usermod -a -G "user$i" pi
        # Para que pueda usar la Sense Hat, debe añadirse a los grupos input, i2c y video
        sudo usermod -a -G input "user$i"
        sudo usermod -a -G video "user$i"
        sudo usermod -a -G i2c "user$i"
done

Borrado de todos los usuarios

#!/bin/bash
numUsuarios=10
for ((i=1; i<=$numUsuarios; i++))
do
        # Sacar el usuario pi del grupo del usuario
        deluser pi "user$i"
        # Borrar el usuario
        deluser "user$i"
        # Borrar la carpeta home del usuario
        rm -rf "/home/user$i"
        # Borrar el grupo asociado al usuario
        groupdel "user$i"
done