Skip to content

Latest commit

 

History

History
105 lines (63 loc) · 3.31 KB

File metadata and controls

105 lines (63 loc) · 3.31 KB

SUID / GUID / Sticky Bit

Special Permissions: SUID, GUID, and sticky bit

SUID

SUID o Set Owner User ID es un indicador de bit de permiso que se aplica a los ejecutables. SUID permite que un usuario alternativo ejecute un ejecutable con los mismos permisos que el propietario del archivo en lugar de los permisos del usuario alternativo.

SUID permission

Add SUID

chmod u+s file
# forma numérica: cuarto dígito a los permisos normales con número octal siempre 4.
chmod 4766 file

# Queda así:
rwsrw-rw-

Delete SUID

chmod u-s file
chmod 0766 file

Add execute option when SUID bit is uppercase 'S':

chmod +x file

.

GUID

SGID es similar a SUID. Con el conjunto de bits SGID, cualquier usuario que ejecute el archivo tendrá los mismos permisos que el propietario del grupo del archivo.

Su beneficio está en el manejo del directorio. Cuando se aplica el permiso SGID a un directorio, todos los subdirectorios y archivos creados dentro de este directorio obtendrán la misma propiedad de grupo que el directorio principal (no la propiedad de grupo del usuario que creó los archivos y directorios).

💡 GUID (globally unique identifier) se refiere usualmente a una forma más robusta de UUID (universally unique identifier), y parece fuera de lugar respecto de los permisos de usuarios y grupos en particular. Tradicionalmente, sin embargo, alguna documentación de Unix refieren a SGID como bit GUID.

Agregar bit SGID

chmod g+s file

# forma numérica: cuarto dígito a los permisos normales con número octal siempre 2.
chmod 2766 file 
# Queda así:
rwxrwsrw-

Eliminar bit SGID

chmod g-s file
chmod 0766 file

Sticky Bit

El sticky bit funciona en el directorio. Con el sticky bit establecido en un directorio, todos los archivos en el directorio solo pueden ser eliminados o renombrados por los propietarios del archivo o por la raíz.

Esto se usa normalmente en el directorio /tmp que funciona como la papelera de archivos temporales.

linuxhandbook:~$ ls -ld /tmp
drwxrwxrwt 1 root root 512 Apr 12 13:24 /tmp

Como puede ver, la carpeta /tmp, tiene la letra t en el mismo lugar donde esperamos ver x o para otros permisos. Esto significa que un usuario (excepto root) no puede eliminar los archivos temporales creados por otros usuarios en el directorio /tmp.

Agregar sticky bit

chmod +t my_dir
chmod 1766

Eliminar:

chmod -t my_dir
chmod 0766

Si el directorio no tiene el permiso de ejecución establecido para todos, establecer un bit fijo hará que se muestre T en lugar de t. Una indicación de que las cosas no son del todo correctas con el bit pegajoso.

Permisos especiales en Linux: Sticky Bit, SUID y SGID - ochobitshacenunbyte

Special Permissions: SUID, GUID, and sticky bit