Hay 3 permisos especiales que están disponibles para los archivos y directorios ejecutables. Estos son :

1. Permiso SUID
2. Permiso SGID
3. Sticky bit

Set-user Identification (SUID)

¿Has pensado alguna vez, cómo un usuario no root puede cambiar su propia contraseña cuando no tiene permiso de escritura en el archivo /etc/shadow. hmmm… interesante no? Bueno, para entender el truco comprueba el permiso del comando /usr/bin/passwd :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Si te fijas bien, encontrarás las 2 S en el campo de permiso. La primera s representa el SUID y la segunda el SGID.
– Cuando se ejecuta un comando o script con el bit SUID activado, su UID efectivo pasa a ser el del propietario del archivo, en lugar del usuario que lo ejecuta.
– Otro buen ejemplo de SUID es el comando su :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– El permiso setuid se muestra como una «s» en el campo de ejecución del propietario.

¿Cómo establecer SUID en un archivo?

# chmod 4555 

Nota :
Si aparece una «S» mayúscula en el campo de ejecución del propietario, indica que el bit setuid está activado, y el bit de ejecución «x» para el propietario del fichero está desactivado o denegado.

Set-group identification (SGID)

Permiso SGID en archivo ejecutable

– El permiso SGID es similar al permiso SUID, la única diferencia es – cuando el script o comando con SGID activado se ejecuta, se ejecuta como si fuera un miembro del mismo grupo en el que el archivo es un miembro.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– El permiso setgid se muestra como una «s» en el campo de ejecución del grupo.

Nota :
– Si aparece una letra «l» minúscula en el campo de ejecución del grupo, indica que el bit setgid está activado, y el bit de ejecución para el grupo está desactivado o denegado.

¿Cómo establecer el GUID en un archivo?

# chmod 2555 

SGID en un directorio

– Cuando se establece el permiso SGID en un directorio, los ficheros creados en el mismo pertenecen al grupo del que es miembro el directorio.
– Por ejemplo si un usuario que tiene permiso de escritura en el directorio crea un fichero allí, ese fichero es miembro del mismo grupo que el directorio y no del grupo del usuario.
– Esto es muy útil en la creación de directorios compartidos.

Cómo establecer el SGID en un directorio

# chmod g+s 

Bit pegajoso

– El bit pegajoso se utiliza principalmente en directorios compartidos.
– Es útil para los directorios compartidos como /var/tmp y /tmp porque los usuarios pueden crear archivos, leer y ejecutar archivos propiedad de otros usuarios, pero no se les permite eliminar archivos propiedad de otros usuarios.
– Por ejemplo, si el usuario bob crea un archivo llamado /tmp/bob, otro usuario tom no puede eliminar este archivo aunque el directorio /tmp tenga un permiso de 777. Si el bit sticky no está configurado, entonces tom puede eliminar /tmp/bob, ya que el archivo /tmp/bob hereda los permisos del directorio padre.
– el usuario root (¡Por supuesto!) y el propietario de los archivos pueden eliminar sus propios archivos.

Ejemplo de sticky bit :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

¿Cómo establecer el permiso de sticky bit?

# chmod +t or # chmod 1777 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.