Permisos especiales: sticky bit, suid y sgid.-

GNU/Linux a mayores de los típicos permisos read – write – exec, tiene otros especiales y no tan comúnmente conocidos que permiten realizar tareas y establecer permisos más avanzados. En este post vamos a verlos e intentar explicarlos un poco.

sticky bit
Establece que sólo el propietarios del directorio lo puede borrar o renombrar, sin importar los permisos que tenga. Es útil si se desea que varios usuarios puedan acceder a la información y modificarla, pero que ninguno, a excepción del usuarios que lo creó, la pueda borrar.
El usuario root sí la puede borrar.
La forma de establecer este permiso es con el flag +t,

shell> chmod +t file
shell> ls -l file
-rwxr–r-T 1 javier javier 487327 Jul 23 16:10 file

suid
Este es un bit muy especial y que permite ejecutar un fichero con el ID del propietario, y por lo tanto con todos los privilegios que éste tenga.
Es un bit muy peligroso, ya que mal empleado puede poner en peligro el sistema al ejecutar un binario con privilegios de root, por ejemplo, desde un usuario sin privilegios.
Para establecer un binario con este bit, +s

shell> chmod u+s file
shell> ls -l file
-rwSr–r-T 1 javier javier 487327 Jul 23 16:10 file

sgid
Es similar al anterior comentado, pero los permisos que se establecen son a nivel de grupo. Y al igual que el anterior, también lo hay que emplear con mucha precaución.
La forma de usarlo, con +s.

shell> chmod g+s file
shell> ls -l file
-rwSr-Sr-T 1 javier javier 487327 Jul 23 16:10 file

Nota: Si por defecto, la forma de establecer permisos es GNU/Linux en octal es con 0754, para por ejemplo (-rwxr-xr–), para establecer en octal los permisos a éstos bits especiales son,

shell> chmod 1000 file # for sticky bit
shell> chmod 2000 file # for suid
shell> chmod 4000 file # for sgid

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.