GNU/Linux >> Tutoriales Linux >  >> Linux

No se puede eliminar un archivo con bits de modo de archivo a+rw

El /tmp el directorio se marca convencionalmente con la eliminación restringida bandera, que aparece como una carta de permiso t o T en ls salida.

Eliminación restringida implica varias cosas. En el caso general, implica que sólo el propietario del archivo, o el propietario de /tmp sí mismo, puede eliminar un archivo/directorio en /tmp .

No puedes eliminar el archivo, porque no eres el propietario, que es root . Intenta ejecutar rm con sudo que probablemente hayas olvidado.

sudo rm /tmp/test

Más específicamente solo para Linux, el indicador de eliminación restringida (en un directorio de escritura mundial como /tmp ) también habilita el protected_symlinks , protected_hardlinks , protected_regular y protected_fifos restricciones, que en dichos directorios evitan respectivamente que los usuarios sigan enlaces simbólicos que no son de su propiedad, evitan que los usuarios hagan enlaces duros a archivos que no son de su propiedad, evitan que los usuarios abran archivos FIFO que no son de su propiedad y evitan que los usuarios abran archivos existentes que no son de su propiedad. no poseen cuando esperaban crearlos.

Esto lo sorprenderá con errores de permisos al hacer otras cosas como root cuando haces usa sudo .

Más sobre estos en preguntas como "El comportamiento de los permisos de enlace duro es diferente entre CentOS 6 y CentOS 7", "El enlace simbólico no funciona como se esperaba cuando cambia de usuario" y "Los permisos de grupo para root no funcionan en /tmp".


El problema parece ser la parte pegajosa de /tmp .

$ ls -ld /tmp
drwxrwxrwt⃝   1 root  root  1044 Mar 13 12:09 /tmp

https://en.wikipedia.org/wiki/Sticky_bit

Cuando se establece el sticky bit de un directorio, el sistema de archivos trata los archivos en dichos directorios de una manera especial para que solo el propietario del archivo, el propietario del directorio o el usuario raíz puedan cambiar el nombre o eliminar el archivo. Sin el sticky bit establecido, cualquier usuario con permisos de escritura y ejecución para el directorio puede cambiar el nombre o eliminar los archivos contenidos, independientemente del propietario del archivo. Por lo general, esto se configura en el directorio /tmp para evitar que los usuarios normales eliminen o muevan los archivos de otros usuarios.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Por qué Rm puede eliminar archivos de solo lectura?

  3. Ssh:¿por qué falla el intento de reenvío X11 con "conectar /tmp/.x11-unix/x0:no existe tal archivo o directorio"?

  4. Cómo systemd-tmpfiles limpia /tmp/ o /var/tmp (reemplazo de tmpwatch) en CentOS/RHEL 7

  5. UNIX/Linux:¿Cuál es el permiso correcto de los directorios /tmp y /var/tmp?

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

¿Cómo puedo eliminar un archivo o directorio llamado \?

unix:///var/run/supervisor.sock no hay tal archivo

¿Por qué poner otras cosas que no sean /home en una partición separada?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?