A continuación se muestra un archivo, /tmp/testfile
propiedad del usuario1 con el grupo cambiado a rueda que también incluye al usuario2 . El archivo tiene rw
permiso 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
linux
permissions
file-permissions
usuario347765
fuente
fuente
tmp
y arreglar la situaciónRespuestas:
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
).En segundo lugar,
/tmp
es 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/tmp
lo 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" ).fuente
chmod o-t /tmp
y luego volví a intentar eliminar el archivo, pero todavía se queja igual.