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


1 comentario :

  1. Tienes cambiados los permisos de suid y sgid
    shell> chmod 1000 file # for sticky bit
    shell> chmod 2000 file # for sgid
    shell> chmod 4000 file # for ugid

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios