Los usuarios de equipos cliente pueden usar la utilidad chmod para establecer los bits de modo de archivo setuid (establecer identificador de usuario al ejecutar), setgid (establecer identificador de grupo al ejecutar) y sticky en archivos o directorios almacenados en una partición del sistema de archivos NTFS y compartidos en Servidor para NFS. Si un cliente basado en UNIX tiene acceso al archivo o al directorio posteriormente, se aplica la semántica estándar para estos bits. Por ejemplo, un archivo ejecutable que tenga establecido el bit setuid se ejecuta con el identificador de usuario (UID) del propietario del archivo y no con el identificador del usuario que ejecuta el archivo.
Normalmente, si el bit setuid o setgid está establecido en un archivo, el propietario o el grupo del archivo se cambia al propietario o grupo con cuyo identificador (GID) se ejecuta el archivo. A menos que el usuario tenga derecho a restaurar los archivos o directorios, la seguridad de Windows permite al usuario asumir la propiedad de un archivo (si los permisos del archivo lo permiten), pero no transferir la propiedad a otro usuario. Por lo tanto, si desea usar chown o chgrp para cambiar el propietario o el grupo de un archivo a otro usuario o grupo, debe tener permiso para restaurar los archivos y directorios. De manera predeterminada, este permiso se asigna a los miembros de los grupos Administradores y Operadores de copia de seguridad, aunque se puede asignar a otros grupos o a usuarios individuales. Además, la cuenta del usuario que ejecuta chown o chgrp y el usuario o grupo al que se transfiere la propiedad se deben asignar correctamente con Búsqueda de Active Directory o Asignación de nombre de usuario.
Algunos servidores NFS (Network File System) basados en UNIX aplican interpretaciones o restricciones especiales para los bits setuid, setgid y sticky. Por ejemplo, algunas versiones de UNIX fuerzan el bloqueo obligatorio de un directorio con el bit setgid establecido, pero sin permisos de ejecución. Servidor para NFS no implementa interpretaciones o restricciones especiales al utilizar estos bits.
Problema de seguridad
El comportamiento habitual de setuid y setgid de UNIX presenta un conocido problema de seguridad en UNIX. Un usuario no autorizado puede aprovechar el comportamiento de setuid y setgid mediante la sobrescritura de un archivo ejecutable con un caballo de Troya y la ejecución posterior del archivo ejecutable. El archivo ejecutable se ejecuta con los derechos del propietario en lugar de ejecutarse como si se tratara del usuario no autorizado.
Para evitar este conocido problema de seguridad, setuid y setgid están deshabilitados de manera predeterminada y no influyen en la configuración de UID o GID si el archivo o el directorio tienen las dos características siguientes:
-
Se ha establecido uno o los dos bits siguientes: setgid o setuid.
-
El archivo o el directorio es modificable y ejecutable por grupos o por todos los usuarios.
Algunos clientes pueden considerar que esta medida de seguridad es problemática porque difiere del comportamiento típico de UNIX, aunque el comportamiento típico de setuid y setgid de UNIX no se especifica como parte del protocolo NFS.
Cambio del comportamiento de setuid y setgid
Use el siguiente procedimiento para cambiar el comportamiento de los bits setuid y setgid:
Para cambiar el comportamiento de setuid y setgid |
Abra el Editor del Registro.
Establezca la siguiente clave del Registro:
HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)
-
El valor 1 conlleva un comportamiento más seguro de setuid y setgid.
-
El valor 0 equivale al comportamiento de UNIX estándar.
-
El valor 1 conlleva un comportamiento más seguro de setuid y setgid.