Você não pode, dado que o usuário que cria o diretório tem permissão suficiente para gravar no diretório pai.
Em vez disso, você pode alavancar a inotifyfamília de chamadas do sistema fornecidas pelo kernel Linux, para observar a criação (e opcionalmente mv-ing) do diretório shopno diretório especificado, se criado (ou opcionalmente mv) rmo diretório.
O programa userspace necessário neste caso é inotifywait(vem com inotify-tools, instale-o primeiro, se necessário).
Supondo que o diretório shopresidisse no /foo/bardiretório, vamos definir um monitoramento para a /foo/bar/shopcriação e, rminstantaneamente, se criado:
inotifywait -qme create /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
inotifywait -qme create /foo/barobserva o /foo/bardiretório de qualquer arquivo / diretório que possa ser criado, ou seja, observe qualquer createevento
Se criado, awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'verifica se o arquivo é um diretório e se o nome é shop( /,ISDIR shop$/); se for, rmo diretório ( system("rm -r -- /foo/bar/shop"))
Você precisa executar o comando como um usuário que tenha permissão de gravação no diretório /foo/barpara remoção do shopdiretório.
Se você deseja monitorar mvtambém as operações de gravação, adicione watch for moved_toevent também:
inotifywait -qme create,moved_to /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
Apenas para observar, se você estiver procurando por um arquivo, não um diretório, chamado shop:
inotifywait -qme create /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'
inotifywait -qme create,moved_to /foo/bar | \
awk '$NF == "shop" { system("rm -- /foo/bar/shop") }'