¿Qué es Setuid?

Autor: | Última modificación: 23 de marzo de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Setuid o Set User ID es un tipo de configuración de permiso de archivo en el sistema operativo Linux que permite que un usuario pueda ejecutar un archivo o programa utilizando los privilegios de root. Esta herramienta se utiliza para elevar los privilegios de un usuario, es decir, que permite que la persona que ejecuta un programa setuid puede hacerlo como si fuera el usuario propietario del archivo.

El Set User ID es uno de los permisos especiales de Linux, de los que también forman parte el Set Group ID o bit setgid y el Sticky Bit.

Características del bit setuid

Este bit se encuentra en los archivos que tienen permisos de ejecución y establece que, al ejecutarse, podrá utilizar los privilegios que tiene el usuario creador o root. Además, uno de los ejemplos más importantes de setuid es el fichero ejecutable su, que cumple la función de ejecutar una shell a través de identificadores de grupo, así como id de usuario distintos al del rest of users. Por lo que incluir el Set User ID facilita que el usuario adquiera permisos administrativos de forma temporal, lo que le permitirá realizar el cambio de usuario.

Aunque este bit puede resultar de gran utilidad, también implica un riesgo de seguridad, debido a que es posible que algunos usuarios busquen una forma de mantener los permisos que se les otorgan temporalmente con el permiso especial setuid, incluso tiempo después de que el proceso haya terminado su ejecución. Por este motivo, el superusuario o root debe ser cuidadoso en el momento de asignar este bit a alguien más.

Comandos de setuid

Esta herramienta utiliza ciertos comandos para su funcionamiento, como, por ejemplo, la búsqueda del parámetro s en el bit ejecutable de los permisos de archivo, que indica que allí se encuentra el setuid. Esta s reemplaza a la x en la sección de usuarios de los permisos del archivo.

Además, usa la opción chmod u+s, que se encarga de configurar este bit. El usuario también puede ejecutar el comando chmod u-s en el caso de que quiera remover o eliminar el archivo setuid.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Otro de sus comandos es el parámetro chmod u+x, que se usa cuando la s que indica la activación del setuid aparece como una S mayúscula, lo que significa que si bien el bit está configurado, el usuario al que le pertenece el archivo no cuenta con los permisos para su ejecución. De modo que la opción chmod u+x cumple la función de agregar ese permiso faltante.

Cabe recordar que el comando chmod o change mode y sus opciones derivadas se usan para cambiar, agregar o remover el permiso de escritura o Write (W), de lectura o Read (R) y de ejecución o Execute (X). De igual forma, este parámetro también configura los permisos especiales en Linux como setuid y setgid.

¿Cuál es el siguiente paso?

Ahora que ya has aprendido a qué se refiere el término Setuid o Set User ID, cuáles son sus características más representativas y cómo es el funcionamiento a través de sus comandos, puedes continuar con tu formación a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en solo 6 meses podrás conocer diversas herramientas para convertirte en todo un experto. Además, la formación en metodologías de desarrollo te proporcionarán las habilidades necesaria para mejorar y agilizar tus procesos tecnológicos.

[email protected]