Setuid


Setuid

Setuid y Setgid son términos de Unix, abreviaturas para "Set User ID" y "Set Group ID", respectivamente. Setuid, también llamado a veces "suid", y "setgid" son permisos de acceso que pueden asignarse a archivos o directorios en un sistema operativo basado en Unix. Se utilizan principalmente para permitir a los usuarios del sistema ejecutar binarios con privilegios elevados temporalmente para realizar una tarea específica.

Si un fichero tiene activado el bit "Setuid" se identifica con una “s” en un listado de la siguiente forma:

-rwsr-xr–x 1 root shadow 27920 ago 15 22:45 /usr/bin/passwd

Esta propiedad es necesaria para que los usuarios normales puedan realizar tareas que requieran privilegios más altos que los que dispone un usuario común. Algunas tareas que requieren privilegios elevados pueden no ser obvias (por ejemplo, el comando ping, que debe enviar y escuchar paquetes de control por una interfaz de red).

Setuid en ejecutables

Normalmente este bit se activa en ejecutables. Cuando a un ejecutable binario se le asigna el atributo setuid, usuarios normales del sistema pueden ejecutar ese archivo y obtener privilegios del usuario que posee dicho archivo (generalmente, root) en el proceso creado. Cuando el proceso obtiene privilegios de administrador, la aplicación puede realizar tareas en el sistema que usuarios normales generalmente no podrían hacer. El sistema impedirá al usuario que invocó el ejecutable alterar el nuevo proceso de ningún modo, como utilizando ptrace, LD_LIBRARY_PATH o enviarle señales a él (señales desde la propia terminal sí se aceptarán, sin embargo).

Por ejemplo el bit setuid se utiliza en el fichero /usr/bin/passwd para que todo el mundo pueda cambiar su contraseña de forma controlada. Pudiendo ejecutar este programa se consigue que un usuario pueda escribir en el fichero de claves(/etc/passwd) pero sin tener que dar permisos de escritura al fichero, lo cual seria un gran agujero de seguridad

Aunque la característica setuid es muy útil en muchos casos, puede plantear un riesgo de seguridad si el atributo setuid se asigna a programas ejecutables que no fueron diseñados cuidadosamente. Los usuarios pueden explotar vulnerabilidad en programas defectuosos para conseguir privilegios elevados permanentemente, o ejecutar de forma no intencionada un troyano.

El atributo setgid permitirá cambiar los privilegios basados en el grupo en un proceso, del mismo modo que setuid hace para privilegios basados en el usuario.

Setuid en directorios

El indicador setgid en un directorio tienen un significado completamente distinto a su aplicación sobre ficheros. Los directorios con permiso setgid fuerzan a todos los archivos y subdirectorios creados en ellos a pertenecer al grupo del dueño del directorio y no al grupo del usuario que crea el archivo o subdirectorio.

El indicador setuid, en cambio no tiene efecto si es aplicado sobre un directorio. La causa es que si propagara el dueño del directorio a los objetos creados dentro de ese directorio, el usuario que cree un fichero allí perdería inmediatamente sus permisos de dueño sobre el fichero, impidiendo tal vez que pueda usarlo o modificarlo nunca más.

Véase también


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Setuid — and setgid (short for set user ID upon execution and set group ID upon execution, respectively) are Unix access rights flags that allow users to run an executable with the permissions of the executable s owner or group. They are often used to… …   Wikipedia

  • Setuid — (parfois suid) est un terme UNIX, abréviation de « Set User ID ». Sommaire 1 Setuid et Setgid pour les exécutables 2 Setgid pour les répertoires 3 Voir aussi …   Wikipédia en Français

  • Setuid — (Set User ID, manchmal auch suid) ist ein erweitertes Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt dem die Datei… …   Deutsch Wikipedia

  • SetUID — (Set User ID, manchmal auch suid) ist ein erweitertes Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt dem die Datei… …   Deutsch Wikipedia

  • SetUID-Bit — Setuid (Set User ID, manchmal auch suid) ist ein erweitertes Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt dem die …   Deutsch Wikipedia

  • Suid — setuid и setgid (сокращение от set user ID upon execution (установка ID пользователя во время выполнения) и set group ID upon execution (установка ID группы во время выполнения), соответственно) являются Unix флагами прав доступа, которые… …   Википедия

  • Suid — Setuid Setuid (parfois suid) est un terme UNIX, abréviation de « Set User ID ». Il s agit d une propriété qui est appliquée aux fichiers et répertoires d un système d exploitation UNIX. Grâce à cette propriété, un processus exécutant un …   Wikipédia en Français

  • SUID — Setuid (Set User ID, manchmal auch suid) ist ein erweitertes Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden mit den Rechten des Benutzers ausgeführt dem die …   Deutsch Wikipedia

  • File system permissions — Most modern file systems have methods of administering permissions or access rights to specific users and groups of users. These systems control the ability of the users affected to view or make changes to the contents of the file… …   Wikipedia

  • Set-gid-bit — Setgid (Set Group ID, manchmal auch SGID) ist ein (erweitertes) Unix Dateirecht für Dateien oder Verzeichnisse des Unix Betriebssystems. Ausführbare Programme bei denen dieses Bit gesetzt ist, werden beim angemeldeten Benutzer mit den Rechten der …   Deutsch Wikipedia