Continuamos con la serie de casos prácticos sobre automatización de un sistema GNU/Linux con shell script. La última entrada es: Automatizaciones. Bash Shell Script: nuevosUsuarios.sh
Resulta que nuestro jefe nos ha dado la enhorabuena por todo el trabajo que llevamos realizado. Ahora, se dan cuenta los jefes de proyecto de que sería interesante que cada empleado de un departamento concreto tuviera un directorio especifico de trabajo dentro de un directorio llamado proyecto en su directorio personal con un nombre especificado previamente.
Para ello nos pide que creemos algún tipo de automatización que nos permita, en un momento dado, crear un directorio de trabajo cuyo nombre se proporcione por parámetro para los miembros de un grupo concreto, que también se proporcionaría por parámetro.
Por ejemplo, para el departamento de finanzas, se crearía el directorio proyectos/finanzas dentro del directorio personal de cada uno de sus empleados miembros.
Solución (texto)
Primero comprobamos que nos dan la información necesaria y que existe el grupo del departamento. Sin esta información no podemos continuar.
Ahora obtenemos la lista de usuarios que son miembros del grupo del departamento proporcionado. Recorremos esta lista y para cada usuario realizamos las siguientes operaciones:
- Obtenemos la ruta de su directorio personal.
- Después, si no existe el directorio del proyecto proporcionado dentro de su directorio proyecto, lo creamos y lo configuramos para que el usuario pueda acceder y realizar cualquier operación.
Desarrollamos
Hacemos las comprobaciones que necesitemos en terminal.

Seguimos comprobando

Vamos a hacer una primera implementación en la que solo mostramos la información que vamos a utilizar para poder comprobar que todo está bien hasta este punto.

Comprobamos

Ahora, en lugar del echo, tenemos que comprobar si no existe el directorio y si no existe, crearlo y configurar los permisos, propietario y grupo para que el usuario pueda usarlo.

Vamos a probarlo 😉

Esto es lo que piensa ChatGPT

Dejar una respuesta