Permisos especiales en archivos y directorios

Ahora estamos entrando a la deep web de los permisos. Aqui vamos a hablar de los permisos especiales SUID, SGID y Sticky bit.

Los permisos especiales en Linux son atributos adicionales que se pueden aplicar a archivos y directorios para otorgarles funcionalidades específicas o comportamientos especiales. Estos permisos especiales son diferentes de los permisos estándar de lectura, escritura y ejecución (rwx) que se aplican a propietarios, grupos y otros usuarios.

Contenido

Permisos especiales Set User ID (SUID) y Set Group ID (SGID)

Empezamos con Set User ID (SUID) que se aplica principalmente en archivos ejecutables. Primero recuerda que por defecto el propietario de un archivo tiene todos los permisos (rwx). Al activar el permiso SUID permites que otro usuario adquiera los permisos del propietario, en este punto también accedería al resto de archivos del propietario mediante el ejecutable. Por esta razón debes ser cuidadoso con este permiso.

Supongamos que se activa SUID en un ejecutable que crea archivos, al crearlos lo hará con el usuario propietario del ejecutable y no con el usuario que lo ejecuta. 

Es importante que el permiso “x” (ejecución) este activo para “others”, de otra forma los usuarios no podrán ejecutar los archivos aunque SUID se encuentre activado.

El funcionamiento de SGID es similar a SUID, la diferencia es que es a nivel grupo. Ambos permisos se usan principalmente para evitar proporcionar permisos de escritura de manera directa a otros usuarios. Cuando se activa SUID o SGID, veras una “s” en los permisos del usuario o grupo.

Acá te dejo una lista de los comandos en Linux que hacen uso de SUID y SGID:

Permisos especiales SUID y GUID

Comandos para activar SUID y SGID.

SUID en modo simbolico:

$ chmod u+s archivo

SUID en modo absoluto:

$ chmod 4### archivo

SGID en modo simbolico:

$ chmod g+s archivo

SGID en modo absoluto:

$ chmod 2### archivo

Para remover el permiso usa “” en el modo simbolico y 0 en el modo absoluto.

Permiso especial Sticky bit

Este tipo de permiso permite que solo el propietario de un archivo, el propietario del directorio o el usuario root puedan renombrarlo o eliminarlo. Se debe otorgar a los directorios, lo cual afectara archivos y directorios dentro. Si das el permiso a un archivo, no funcionara.

La carpeta /tmp es un ejemplo donde se utiliza este tipo de permiso. La “t” indica que el sticky bit se encuentra activo y aparece en los permisos de “otros”:

$ ls -l /
drwxrwxrwt 10 root root 4096 Apr 13 15:31 tmp

Para activar el sticky bit se usa alguno de los siguientes comandos.

Activa el sticky bit en modo simbólico:

$ chmod +t directorio

Activa el sticky bit en modo absoluto:

$ chmod 1### directorio

Al igual que SUID y SGID, puedes usar “” para remover el permiso en modo simbólico o “0” en modo absoluto.

Recomendaciones

Por ahora tienes bastante material para aprender, lo cierto es que aún hay cosas por ver, pero dejare eso para un siguiente post. Mi recomendación por ahora es que empieces a usar los comandos que se describen aquí. Solo he puesto las formas básicas de cada comando, pero siempre puedes hacer uso de man {comando} o comando –help para revisar todas las opciones que tienes disponibles y aclarar dudas. También puedes hacer uso de Google o cualquier otra fuente de información que te ayude con el tema. 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *