El permiso SGID

Este permiso es igual que el SUID sólo que en lugar de ejecutar un fichero con los privilegios del propietario se hará con los privilegios del grupo al que pertenezca el fichero. SGID es el acrónimo de Set Group ID.

[pcm@sal]$ ls -lh /usr/bin/wall
-rwxr-sr-x 1 root tty 11K 2007-02-21 18:48 /usr/bin/wall
[pcm@sal]$ 

En este caso vemos que el permiso de ejecución para el grupo está marcado con una "s" en lugar de con una "x". Esto nos indica que tiene activado el permiso SGID.

Podemos ver que el fichero pertenece al usuario root y al grupo tty. Cuando un usuario ejecute el comando /user/bin/wall lo ejecutará con sus privilegios de usuario y con los del grupo tty.

Activación del permiso SGID

Como hemos visto cuando establecemos los permisos en octal utilizamos una terna de números. Para los permisos especiales utilizaremos cuatro números. El primero de ellos hará referencia al permiso especial y los otros tres a los permisos normales.

El SGID es el segundo bit más significativo de los tres bits utilzados para los permisos especiales, con lo cual si hacemos:

[pcm@sal]$ chmod 2755 miprograma
[pcm@sal]$ 

Estaremos activando el permiso SGID y estableciendo los permisos 755 al ejecutable miprograma.

Importante

Este permiso funciona sólo con binarios y no con scripts (excepto con los de PERL).

El permiso SGID y los directorios

Cuando un directorio tiene activado este permiso todos los ficheros que se creen en el pertenecerán al grupo del propietario sin importar cual sea el grupo del usuario que cree el directorio.

Sugerencia

Este permiso es de gran utilidad cuando se trabaja en directorios compartidos.