Tengo un par de archivos que no puedo eliminar con el rf -Rf
comando. Soy el propietario de esos archivos y el grupo asignado a esos archivos también es un grupo en el que está mi usuario. Lo que es aún más extraño es que puedo editar su contenido y puedo cambiar los permisos para ellos, pero no puedo moverme o borra los.
ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php
rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
¿Alguien puede decirme qué está pasando?
linux
filesystems
file-permissions
rm
RaYell
fuente
fuente
Respuestas:
Para eliminar un archivo, necesita permiso de escritura en el directorio que contiene este archivo.
Aquí los permisos son
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
Para que nadie (exceptoroot
) pueda eliminar archivos dentro de este directorio. El propietario debe usarchmod
primero.-
1. Hay muy buenas razones para eso. Al 'eliminar' un archivo con
rm
, de hecho está intentando desvincularlo del directorio (las copias enlazadas no se eliminarán).fuente
Tuve el mismo problema, y
chmod
solo no funcionó. Primero tuve que cambiar el propietario (usuario y grupo) de los archivos que quería eliminar.Explicación:
sudo
: asegúrese de tener los derechos adecuadoschown
: Comando de Linux para cambiar el propietario de un archivo-hR
: cambia el propietario del directorio y todos los subdirectorios. Lo encontré aquí .root
: nombre del nuevo usuarioadmin
: nombre del nuevo grupoYa había cambiado los modificadores a 777; No sé si eso fue necesario o no.
fuente
chown
no había sido propietario del directorio ni miembro del grupo propietario del directorio.Otra posible pregunta es atributo
Este comando le mostrará el atributo del archivo y un archivo con el atributo 'i' no se puede modificar (y eliminar)
así que verifique el atributo de su archivo y elimine el atributo 'i' si se ha establecido el atributo
fuente
La razón es que el directorio padre tiene
chmod 705
o algo así. Puedechmod
el directorio principal con el siguiente comando:Después de esto, puede eliminar ese directorio y los archivos que contiene.
fuente