Tengo un examen de directorio con 2 archivos. Necesito eliminar archivos pero se deniega el permiso. Incluso el rm -rf
comando no puede eliminar estos archivos. Me conecté como usuario root.
linux
files
permissions
rm
Mestizo
fuente
fuente
ls -la
, para que podamos ver los permisos en.
(el directorio).Respuestas:
Desde el usuario root, verifique los atributos de los archivos
si observa
i
(inmutable) oa
(solo anexar), elimine esos atributos:fuente
La razón más común para
rm
quejarse de que no tiene permiso para eliminar un archivo es que los permisos en el directorio le prohíben eliminar el archivo. Para eliminar un archivo, necesita permiso de escritura en el directorio. Los permisos en el archivo son irrelevantes (rm
sin solicitudes-f
de confirmación antes de eliminar un archivo de solo lectura, pero eso es solo una confirmación, no una limitación). En algunas variantes de Unix como OSX (pero no Linux), la ACL en un archivo puede evitar su eliminación;ls -l
aparecería@
al final del campo de permiso si hubiera una entrada de ACL en el archivo.El acceso como root omite los permisos, por lo que root puede eliminar archivos incluso en un directorio de solo lectura.
El resultado de
ls -l
muestra.
a al final de la columna de permisos. Esto indica que el archivo tiene un contexto de seguridad SELinux. A diferencia de los permisos básicos y ACL, el contexto de seguridad de SELinux en un archivo puede controlar quién puede eliminarlo. Además, la raíz no siempre puede pasar por alto SELinux (es posible tener un proceso ejecutándose como ID de usuario 0 pero con los pocos derechos que elija el diseñador de políticas de SELinux). Para ver qué le permite hacer el contexto SELinux, ejecutels -lZ . exam_a
.Otra cosa que puede evitar que un archivo se elimine es si él o el directorio que lo contiene tiene el atributo Linux de solo agregar o inmutable . Ejecute
lsattr -d . exam_a
para ver los atributos de Linux. Si el atributoa
oi
está activado, deberá eliminarlo (chattr -a -i . exam_a
) para eliminar el archivo; solo root puede hacer eso. Root no puede omitir estos atributos para eliminar un archivo, los atributos deben desactivarse primero.Otra cosa que evita que se elimine un archivo es si el sistema de archivos está montado como de solo lectura, pero en ese caso obtendría un mensaje de error diferente.
fuente