Comportamiento diferente de SGID en *BSD y Linux

Comportamiento diferente de SGID en *BSD y Linux

Me encontré con algo interesante: en los sistemas BSD, un nuevo archivo tendrá un grupo configurado en el grupo del directorio. En los sistemas System V tendrá el grupo principal del usuario que creó el archivo. En cuanto a los sistemas BSD, ¿cuál es el propósito de tal comportamiento y significa queSGIDpoco es inútil allí?

Respuesta1

Esto puede ser o no una característica dependiente del sistema operativo, no ha proporcionado suficientes detalles para saberlo.

El bit sgid en un ejecutable hace que se ejecute en el grupo del archivo incluso si el usuario que lo ejecuta no está en ese grupo. (establecer ID de grupo) Si no es ejecutable, el bit sgid es prácticamente discutible.

En un directorio, el bit sgid se ha reutilizado para controlar la herencia de grupos dentro del directorio. Si el bit sgid está configurado en un directorio, los archivos creados en el directorio heredan el grupo (pero no los permisos del grupo). El objetivo de esto es que si tiene un directorio compartido utilizado por los usuarios de un grupo, todos pueden configurar su umask en 002 en lugar de 022 y editar los archivos en el directorio sin necesidad de corregir constantemente los permisos del grupo. (Sin el cambio de umask, esto es menos útil).

Entonces, posiblemente en los dos sistemas que estaba viendo, uno tenía el bit sgid configurado en el directorio en el que estaba probando y el otro no. Esta característica no existe desde siempre, por lo que si uno de los sistemas es lo suficientemente antiguo, es posible que no admita la herencia de directorios sgid. (Pero ha existidocasipara siempre, por lo que esto es poco probable).

Esto de ninguna manera hace que sgid sea inútil. No estoy seguro de por qué pensarías eso, no explicaste lo que crees que es inútil. Tenga en cuenta que si un archivo tiene un propietario de grupo para un grupo en el que no está, no podrá convertir el archivo en sgid sin cambiar primero el propietario del grupo, y si un usuario no root copia el archivo, se descarta sgid.

información relacionada