![Exemplo:](https://rvso.com/image/134426/Exemplo%3A.png)
Eu sei que a exclusão de um arquivo depende das permissões que tenho no diretório anexo, e não do arquivo em si,veja, por exemplo, aqui
Mas e quanto a um diretório não vazio? O uso rm -rf NON_EMPTY_DIR
falha porque os arquivos no diretório não podem ser excluídos. Manter o diretório não vazio e não gravável para outras pessoas é uma maneira segura de impedir que outros usuários excluam a pasta?
Exemplo:
# 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
Responder1
Eles podem não conseguir excluí-lo, mas renomeá-lo ou movê-lo para outro lugar. Não desaparecerá, mas parecerá que sim.
Responder2
Alguém pode excluir meu diretório não vazio de um diretório write-all sem ter permissões de gravação nele?
Não.
Manter o diretório não vazio e não gravável para outras pessoas é uma maneira segura de impedir que outros usuários excluam a pasta?
Sim.
rmdir
não funciona em diretórios não vazios e, sem acesso de gravação, eles não têm como esvaziá-los.