GNU/Linux >> Tutoriales Linux >  >> Linux

Creación de enlaces duros:¿permisos?

Para crear el vínculo físico alice necesitará write+execute permisos en target-dir en todos los casos. Los permisos necesarios en target.txt variará:

  • Si fs.protected_hardlinks = 1 entonces alice necesita la propiedad de target.txt o al menos read+write permisos en él.
  • Si fs.protected_hardlinks = 0 entonces cualquier conjunto de permisos servirá; Incluso 000 está bien.

Esta respuesta a una pregunta similar tenía la información que faltaba para responder esta pregunta.

De http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 [énfasis mío]:

Enlaces duros:

En los sistemas que tienen directorios en los que el usuario puede escribir en la misma partición que los archivos del sistema, una clase de problemas de seguridad de larga data es la carrera de tiempo de verificación-tiempo de uso basada en enlaces duros, que se ve más comúnmente en directorios en los que se puede escribir en todo el mundo como /tmp . El método común de explotación de esta falla es cruzar los límites de privilegios cuando se sigue un enlace fijo dado (es decir, un proceso raíz sigue un enlace fijo creado por otro usuario). Además, existe un problema en el que los usuarios pueden "fijar" un archivo setuid/setgid potencialmente vulnerable para que un administrador no actualice el sistema por completo.

La solución es permitir que los enlaces físicos solo se creen cuando el usuario ya es el propietario del archivo existente, o si ya tiene acceso de lectura/escritura al archivo existente .


Linux
  1. Permisos de Linux 101

  2. ¿Qué es Umask en Linux?

  3. Conceptos básicos de los permisos de archivos de Linux

  4. Permisos de Linux:una introducción a chmod

  5. ¿Ssh y permisos de directorio de inicio?

Comprender los permisos de archivos de Linux

Comando Umask en Linux

Comando Chmod en Linux (Permisos de archivo)

Cómo cambiar permisos en Linux

Permisos de aplicaciones instantáneas

¿S mayúscula en los permisos de una carpeta?