Realiza los scripts que se proponen en esta publicación.
Como siempre se valorará:
- Que el script realice la función que se solicita cómo se solicita de forma correcta
- Compruebe y controles situaciones de error en tiempo de ejecución
- Utilice variables con nombres significativo que mejoren la legibilidad y mantenimiento del script
- Utilice funciones que faciliten la legibilidad del código y la reutilización de código.
newProject.sh
V1.0
Crea un script llamado newProject.sh que reciba por parámetro el nombre de un proyecto y de un empleado. Ambos parámetros son obligatorios y el script realizará operaciones de administración.
El script mostrará por pantalla la información del proyecto y del empleado.
Comprueba si existe un grupo con el nombre del proyecto y comprueba si existe un usuario con el nombre del usuario. Es decir, nos indica si existe o no un grupo con el nombre del proyecto y si existe o no un usuario con el nombre del empleado.

v2.0
Si no existe un grupo con el nombre del proyecto en el sistema, lo crea. Si no existe una cuenta de usuario con el nombre del empleado creará una cuenta de usuario con el nombre del empleado, asignándole un directorio personal y cómo shell /bin/bash. Además configurará la cuenta de usuario para que utilice como contraseña ClaveRoot#20 y añadirá al usuario al grupo del proyecto.
v3.0
Comprobará si existe el directorio del proyecto en el sistema. Todo proyecto en nuestro sistema tendrá un directorio propio dónde los empleados podrán trabajar. Este directorio tendrá el nombre del proyecto y se almacenará en /educatica/2026/proyectos.
De esta forma, para un proyecto llamado python el directorio del proyecto tendrá la siguiente ruta: /educatica/2026/proyectos/python.
Si no existe el directorio del proyecto lo creará y, después de crearlo, lo configurará para que solo los miembros del grupo del proyecto puedan acceder para realizar operaciones de lectura.
v4.0
Comprobará si existe el directorio del empleado en el proyecto. El directorio del empleado en el proyecto es un directorio con el nombre del empleado que se almacenará dentro del directorio del proyecto.
De esta forma, para un empleado llamado marinapg el directorio del empleado en el proyecto python tendrá la siguiente ruta: /educatica/2026/proyectos/python/marinapg
Si no existe el directorio del empleado lo creará y, después de crearlo, lo configurará para que el empleado en cuestión pueda acceder para realizar cualquier operación, los miembros del grupo del proyecto puedan acceder para realizar operaciones de lectura y el resto de usuarios no pueda acceder para realizar ninguna operación.
v5.0
El script creará, si no existe, un enlace simbólico al directorio del empleado en el proyecto dentro de su directorio personal. Para ello utiliza el comando ln con la opción -s. Consulta la página de manual del comando.
Este enlace simbólico tendrá como nombre el nombre del proyecto y estará dentro de un directorio llamado proyectos dentro del directorio personal de la cuenta de usuario del empleado.
Por ejemplo, para el proyecto python y el empleado marinapg, suponiendo que la ruta del directorio personal del usuario marinapg sea /home/marinapg la ruta del enlace simbólico será /home/marinapg/proyectos/python.
El script deberá comprobar primero si existe el directorio proyectos en el directorio personal del empleado, si no existe lo crea.
A continuación, con la garantía de que el directorio proyectos existe, creará un enlace simbólico con el nombre del proyecto dentro del directorio personal del usuario que apunte al directorio del empleado en el proyecto.
Por ejemplo, siguiendo con el proyecto python y el usuario marinapg:
- Enlace simbólico: /home/marinapg/proyectos/python
- Ruta del enlace: /educatica/2026/proyectos/python/marinapg