Configuración de permisos colaborativos para el equipo de desarrollo
Nota: Asegúrate de haber completado primero el Paso 2, que establece la propiedad de todos los directorios del proyecto (incluido src) a dev_lead:developers. Este paso se basa en esos ajustes de propiedad.
El equipo de desarrollo necesita colaborar eficazmente dentro del directorio ~/project/phoenix_project/src. Para garantizar una colaboración fluida, cualquier archivo o directorio nuevo creado dentro de src debe pertenecer automáticamente al grupo developers. Este permiso especial afecta solo al grupo propietario. El usuario propietario seguirá siendo la cuenta que crea el archivo, y los permisos de lectura/escritura del archivo seguirán dependiendo del umask de ese usuario.
Tareas
- Establece un permiso especial en el directorio
~/project/phoenix_project/src que fuerce a todos los archivos y subdirectorios nuevos creados dentro de él a heredar la propiedad del grupo del propio directorio src (que es developers).
Requisitos
- La solución debe garantizar que los archivos nuevos en
~/project/phoenix_project/src hereden automáticamente el grupo developers.
- Debes usar el comando
chmod para establecer este permiso especial.
- Es posible que necesites usar
sudo para establecer permisos en directorios propiedad de otros usuarios.
Pistas
- Este permiso especial se llama bit "set group ID" o
setgid.
- Puedes aplicar el bit
setgid usando notación simbólica (g+s) o numérica.
- En notación numérica, el bit
setgid tiene un valor de 2. Se coloca antes de los tres dígitos de permiso estándar (por ejemplo, 2770).
Ejemplos
Después de completar esta tarea, deberías ver algo como:
$ ls -ld ~/project/phoenix_project/src/
drwxrws--- 2 dev_lead developers 6 Sep 3 16:00 ~/project/phoenix_project/src/
La s en la posición de ejecución del grupo indica que el bit setgid está establecido y el grupo tiene permiso de ejecución. Ahora, cuando creas un archivo nuevo:
$ touch ~/project/phoenix_project/src/new_file.txt
$ ls -l ~/project/phoenix_project/src/new_file.txt
-rw-rw-r-- 1 labex developers 0 Apr 15 18:28 /home/labex/project/phoenix_project/src/new_file.txt
Observa que el archivo nuevo pertenece automáticamente al grupo developers, incluso si has iniciado sesión como un usuario diferente. El propietario del archivo sigue siendo el usuario que lo creó, mientras que el grupo propietario se hereda del directorio src. Esto garantiza el trabajo colaborativo dentro del equipo de desarrollo mientras se mantiene una propiedad de grupo adecuada.
Los permisos muestran:
- El propietario (
dev_lead) tiene permisos de lectura y escritura
- El grupo (
developers) tiene permisos de lectura y escritura
- Otros no tienen permisos
- La
s minúscula en la posición de ejecución del grupo indica que el bit setgid está establecido y el grupo tiene permiso de ejecución