Cambiar propietario del archivo sin ser root

Cambiar propietario del archivo sin ser root

Sugiero que tenga un archivo de registro con permiso 666 y su propietario sea Alice. Entonces el usuario 'bob' puede cambiar su propietario de la siguiente manera:

cp log log.temp; rm log; mv log.temp log

Entonces, ¿cómo puedo solucionar este riesgo?

Respuesta1

Como dice Andrey anteriormente, Bob solo puede hacer lo que usted dice si tiene derechos sobre el directorio que contiene el archivo. Simplemente cambie los permisos del directorio a xx5 si desea que Bob acceda pero no pueda crear nuevos archivos.

deComprender los permisos de UNIX

Los permisos de acceso a archivos y carpetas significan cosas diferentes desde el punto de vista del usuario.

Para archivos

  • Leer: Si el contenido del archivo se puede leer
  • Escribir:Si el usuario o proceso puede escribir en el archivo (cambiar su contenido)
  • Ejecutar:Si el archivo se puede ejecutar

Para directorios

  • Leer:Si se puede obtener el listado del directorio
  • Escribir:Si el usuario o el proceso pueden cambiar el contenido del directorio de alguna manera: cree archivos nuevos o elimine los existentes en el directorio o cambie el nombre de los archivos.
  • Ejecutar:Si el usuario o proceso puede acceder al directorio, es decir, vaya a él (conviértalo en el directorio de trabajo actual)

Respuesta2

Suponiendo que el OP tuviera una buena razón para que Alice y Bob tuvieran permisos de escritura en el directorio de registro, la respuesta alternativa es.

chmod og+t directorypath

El problema no es que el usuario pueda leer el archivo de registro, o incluso que pueda crear nuevos archivos en el mismo directorio, sino que puede mover y eliminar el archivo de registro existente.

+trestringe el movimiento y la eliminación de archivos en un directorio solo al propietario del archivo (aparte de la raíz).

Así es como /tmp funciona el directorio.

información relacionada