No se pueden eliminar directorios copiados de otro lugar centos 6

No se pueden eliminar directorios copiados de otro lugar centos 6

Uno de nuestros usuarios copió por error algunos directorios del sistema (por ejemplo, /lib) a su directorio de inicio mediante el comando cp -r /lib .y luego no puede eliminar estos directorios. El comando rm -rf ./libdevuelve una lista de errores que dicen "Permiso denegado" (creo que uno para cada archivo). Estoy seguro de que tanto los comandos de copiar como de eliminar usan el mismo nombre de usuario y que no se produjeron cambios de permisos de ningún tipo en el medio.

Probablemente pueda eliminar estos directorios usando el privilegio de root, pero me gustaría saber por qué sucede esto. ¿Es esto un error del Centos 6.8 que utilizamos? ¿O por qué un usuario no puede eliminar los directorios que creó en su directorio de inicio?

Respuesta1

cp -rcopia los modos de permiso de forma predeterminada. Entonces, si /libel propietario no podía escribirlo, ./libtampoco lo será. Al intentar eliminar el contenido de un directorio no grabable se le deniega el permiso, incluso si usted es el propietario del mismo. Puedes arreglar los permisos con chmod -R u+w ./lib.

Aquí hay una demostración:

barmar@dev:~/test.dir$ mkdir subdir
barmar@dev:~/test.dir$ touch subdir/foo
barmar@dev:~/test.dir$ chmod a-w subdir
barmar@dev:~/test.dir$ cp -r subdir newsubdir
barmar@dev:~/test.dir$ rm -rf newsubdir
rm: cannot remove `newsubdir/foo': Permission denied
barmar@dev:~/test.dir$ chmod a+w newsubdir
barmar@dev:~/test.dir$ rm -rf newsubdir
barmar@dev:~/test.dir$ 

información relacionada