Permisos especiales: Sticky Bit, SUID, SGID GNU/Linux

7 de feb. de 2018

Hola a todos hoy hablo sobre una serie de permisos especiales sobre el sistema de archivos de Linux que pueden resultarnos útiles para determinadas tareas o para organizar directorios colaborativos entre diferentes usuarios.

Sticky bit

El Sticky bit se utiliza para permitir que cualquiera pueda escribir y modificar sobre un archivo o directorio, pero que solo su propietario o root pueda eliminarlo. Un ejemplo de uso es el directorio /tmp, que debe tener permisos para ser utilizado por cualquier proceso, pero solo el dueño o root puede eliminar los archivos que crea.

Para aplicar el Sticky bit a un directorio:

[hvivani@test archivos]$ chmod 1755 carpetaTest
[hvivani@test archivos]$ ls -l

total 8
drwxr-xr-t. 2 hvivani group 4096 sep 6 09:32 dirtest

Al directorio con el Sticky Bit aplicado se le agrega la t al final del descriptor de permisos.

SUID

El bit SUID activo en un archivo significa que el que lo ejecute va a tener los mismos permisos que el que creó el archivo. Esto puede llegar a ser muy util en algunas situaciones pero hay que utilizarlo con cuidado, dado que puede generar grandes problemas de seguridad.

Para que sea efectivo el archivo debe tener permisos de ejecución.

Para activarlo:

[hvivani@test ~]$ chmod 4775 kk.sh 
[hvivani@test ~]$ ls -l kk.sh 
-rwsrwxr-x. 1 hvivani group 133 ago 27 08:25 kk.sh
[hvivani@test ~]$ chmod -x kk.sh 
[hvivani@test ~]$ ls -l kk.sh 
-rwSrw-r--. 1 hvivani group 133 ago 27 08:25 kk.sh

Vean que en la ultima línea le saqué el permiso de ejecución al archivo y en los permisos se reemplaza la s por la S. En este caso no tiene efecto el bit.

SGID

El SGID es lo mismo que en el SUID, pero a nivel de grupo. Es decir, todo archivo que tenga activo el SGID, al ser ejecutado, tendrá los privilegios del grupo al que pertenece.

Esto es muy usado cuando queremos configurar un directorio colaborativo: si aplicamos este bit al directorio, cualquier archivo creado en dicho directorio, tendrá asignado el grupo al que pertenece el directorio.

[hvivani@test tmp]$ chmod 2775 carpetaTest
[hvivani@test tmp]$ ll

total 8

drwxrwsr-x. 2 hvivani grupo 4096 sep  6 09:32 carpetaTest
[hvivani@test tmp]$ su usuario1
Contraseña: 
[usuario1@test tmp]$ cd carpetaTest
[usuario1@test dirtest]$ touch nn.txt
[usuario1@test dirtest]$ ll
total 0
-rw-r--r--. 1 usuario1 grupo 0 Sep  6 09:50 nn.txt

Al igual que con el SUID, aparece una s o una S reemplazando la x en los permisos del grupo.

¿Te gustó el contenido o lo que hacemos? ¡Cualquier colaboración es agradecida para mantener los servidores o crear proyectos!

Owen-Wilson

Siempre Aprendiendo de uno mismo y de los demás !!

Comentarios:

¡Genial! Te has suscrito con éxito.
¡Genial! Ahora, completa el checkout para tener acceso completo.
¡Bienvenido de nuevo! Has iniciado sesión con éxito.
Éxito! Su cuenta está totalmente activada, ahora tienes acceso a todo el contenido.