Ejemplo:

Ejemplo:

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_DIRfalla 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í.

rmdirno funciona en directorios que no están vacíos y, sin acceso de escritura, no tienen forma de dejarlo vacío.

información relacionada