Linux: el miembro del grupo no puede eliminar el archivo con permiso rw

15

A continuación se muestra un archivo, /tmp/testfilepropiedad del usuario1 con el grupo cambiado a rueda que también incluye al usuario2 . El archivo tiene rwpermiso para el grupo. Entonces, ¿no debería ningún miembro del grupo poder eliminarlo? La salida de ejemplo a continuación muestra que user2 no puede eliminar el archivo. ¿Por qué?

[user2@files ~]$ ls -l /tmp/testfile
-rw-rw-r-- 1 user1 wheel 0 Jul 18 18:54 /tmp/testfile
[user2@files ~]$ groups
user2 wheel
[user2@files ~]$  rm /tmp/testfile
rm: cannot remove `/tmp/testfile': Operation not permitted
usuario347765
fuente
Además de la explicación completa de @grawity, una buena solución es crear su "propio" directorio tmpy arreglar la situación
difícil

Respuestas:

30

Primero, estás viendo los permisos incorrectos. Cuando mueve / cambia el nombre / elimina un archivo, solo está modificando el directorio principal ; no se verifican los propios permisos del archivo. Solo elimina una entrada de la lista de archivos del directorio. Por lo tanto, debe verificar los permisos del directorio principal (en este caso /tmp).

$ ls -ld /tmp
drwxrwxrwt 15 root root 460 Jul 19 15:18 /tmp/

En segundo lugar, /tmpes especial. En prácticamente todos los sistemas, cualquiera lo puede escribir ( ugo=rwx), por lo que a primera vista, parece que cualquiera podría cambiar el nombre o eliminar cualquier archivo en él. Esto, por supuesto, facilitaría (bueno, incluso más fácil) crear problemas para otros usuarios, por /tmplo tanto, siempre tiene el modo "pegajoso", también conocido como "eliminación restringida" ( o+t). Con este modo configurado, solo el propietario del archivo puede mover o eliminar archivos en ese directorio, independientemente de los permisos.

(En GNU coreutils, la chmod(1)página del manual tiene una sección sobre el "indicador de eliminación restringida o bit fijo" ).

usuario1686
fuente
Estoy enfrentando el mismo problema debido al segundo punto de permiso especial. Traté de eliminarlo chmod o-t /tmpy luego volví a intentar eliminar el archivo, pero todavía se queja igual.
Shashank Agrawal
1
No solo el propietario del archivo puede eliminar archivos en dicho directorio, sino también la raíz y el propietario del directorio (por ejemplo, / tmp).
wulfgarpro