Setuid, que significa ID de usuario establecido en la ejecución, es un tipo especial de permiso de archivo en Unix y sistemas operativos similares a Unix, como Linux y BSD. Es una herramienta de seguridad que permite a los usuarios ejecutar ciertos programas con privilegios escalados.
Cuando se establece el permiso setuid de un archivo ejecutable, los usuarios pueden ejecutar ese programa con un nivel de acceso que coincida con el usuario que posee el archivo. Por ejemplo, cuando un usuario desea cambiar su contraseña, ejecuta el comando passwd. El programa passwd es propiedad de la cuenta raíz y está marcado como setuid, por lo que al usuario se le otorga temporalmente acceso a la raíz para ese propósito muy limitado.
Al ver los permisos de un archivo con el comando ls -l, el permiso setuid se muestra como una " s " en la posición de bit de "ejecución de usuario". Por ejemplo:
ls -l / usr / bin / passwd
-rwsr-xr-x 1 root 54192 20 de noviembre 17:03 / usr / bin / passwd
Configuración del permiso setuid de un archivo.
Para establecer el permiso setuid para un archivo ejecutable, use el identificador de permisos u + s con el comando chmod :
chmod u + s myfile
Los archivos no ejecutables se pueden marcar como setuid, pero no tiene ningún efecto; marcarlos como setuid no los hace automáticamente ejecutables. En este caso, el bit de permiso se muestra como una " S " mayúscula. Por ejemplo:
ls -l myfile
-rw-r - r-- 1 usuario 0 6 de marzo 10:45 myfile
chmod u + s myfile
ls -l myfile
-rwSr - r-- 1 usuario 0 6 de marzo 10:45 myfile
Sin embargo, si luego configura el archivo como ejecutable por el usuario con el permiso u + x, el permiso setuid entra en vigencia. Luego se representará en el listado con una " s " minúscula:
chmod u + x myfile
ls -l myfile
-rwsr - r-- 1 usuario 0 6 de marzo 10:45 myfile
Setgid
Setgid es el equivalente de setuid que otorga permiso al grupo que posee el archivo que se conoce como setgid . Funciona de la misma manera, y el indicador " s " o " S " se muestra en la posición de ejecución de grupo de la salida de ls -l . Por ejemplo:
chmod g + s myfile2
ls -l myfile2
-rw-r-sr-- 1 usuario 0 6 de marzo 10:46 myfile2
Siglas de la computadora, archivo ejecutable, Linux, permisos, términos de seguridad