![Ejemplo:](https://rvso.com/image/134426/Ejemplo%3A.png)
Sé que eliminar un archivo depende de los permisos que tengo en el directorio adjunto y no del archivo en sí.ver por ejemplo aquí
Pero ¿qué pasa con un directorio que no esté vacío? El uso rm -rf NON_EMPTY_DIR
falla porque los archivos dentro del directorio no se pueden eliminar. ¿Mantener el directorio no vacío y sin que otros puedan escribirlo es una forma segura de evitar que otros usuarios eliminen la carpeta?
Ejemplo:
# Create write-all outer dir
mkdir outer
chmod 777 outer
# Create two subdirectories, one of which is empty, one not,
# and none are writable by anyone
mkdir outer/{non-,}empty
touch outer/non-empty/file
chmod 555 outer/*
ls -la outer
## drwxrwxrwx 4 user user 80 May 31 15:12 .
## [ .. does not matter here ]
## dr-xr-xr-x 2 user user 40 May 31 15:12 empty
## dr-xr-xr-x 2 user user 60 May 31 15:12 non-empty
rm -rf outer/empty
# Succeeds
rm -rf outer/non-empty
# rm: cannot remove outer/non-empty/file: Permission denied
Respuesta1
Es posible que no puedan eliminarlo, pero sí cambiarle el nombre o moverlo a otro lugar. No desaparecerá, pero así se verá.
Respuesta2
¿Alguien puede eliminar mi directorio no vacío de un directorio de escritura total sin tener permisos de escritura?
No.
¿Mantener el directorio no vacío y sin que otros puedan escribirlo es una forma segura de evitar que otros usuarios eliminen la carpeta?
Sí.
rmdir
no funciona en directorios que no están vacíos y, sin acceso de escritura, no tienen forma de dejarlo vacío.