39 votos

¿Por qué fui capaz de eliminar un archivo propiedad de root en mi directorio home sin ser root?

Estaba haciendo un mantenimiento en mi servidor el día de hoy y me notado que he podido eliminar un archivo propiedad de root en mi directorio home.

Yo era capaz de reproducir una muestra:

[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 20:59 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$ sudo touch file-owned-by-root
[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 21:00 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-r--r--.  1 root     root        0 Oct  5 21:00 file-owned-by-root
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$ rm file-owned-by-root
rm: remove write-protected regular empty file ‘file-owned-by-root'? y
[cbennett@nova ~/temp]$ ls -al
total 8
drwxrwxr-x.  2 cbennett cbennett 4096 Oct  5 21:00 .
drwxr-xr-x. 22 cbennett cbennett 4096 Oct  5 20:58 ..
-rw-rw-r--.  1 cbennett cbennett    0 Oct  5 20:58 my-own-file
[cbennett@nova ~/temp]$

Mi pregunta es ¿cómo fui capaz de eliminar un archivo que es propiedad de root y permisos -rw-r--r-- , mientras que yo no soy root?

33voto

jcollum Puntos 10236

Los permisos, el contenido y todos los atributos son parte de la inodo. El nombre está en la entrada de directorio. No se heredan los permisos de forma recursiva.

Cuando se elimina un archivo, internamente usted acaba de quitar un enlace duro de la entrada de directorio para el inodo. Cuando todos los enlaces permanentes son removidos y el inodo no está en uso, el sistema de archivos recuperar el espacio. Usted sólo necesita permiso de escritura en la carpeta no importa que se establecen los permisos en el archivo (con la excepción de inmutable ext permiso). Mismo para una carpeta vacía.

Al eliminar una carpeta que no está vacía necesita permiso de escritura sobre la carpeta que desea eliminar y el de su padre.

19voto

inetknght Puntos 176

Cuando tienes el directorio podrá hacer cualquier cosa y el contenido dentro de la misma en función de los permisos de directorio. Por lo tanto, a pesar de no ser propietario del archivo, hayas podido todavía eliminar porque tenías permiso de lectura y escritura para el directorio en el que reside el archivo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: