Anda tidak bisa, mengingat pengguna yang membuat direktori memiliki izin yang cukup untuk menulis di direktori induk.
Sebagai gantinya, Anda dapat memanfaatkan kumpulan inotifypanggilan sistem yang disediakan oleh kernel Linux, untuk mengawasi pembuatan (dan opsional mv-ing) direktori shopdalam direktori yang diberikan, jika dibuat (atau secara opsional mv-ed), rmdirektori.
Program userspace yang Anda butuhkan dalam hal ini adalah inotifywait(datang dengan inotify-tools, instal dulu jika diperlukan).
Dengan asumsi direktori shopakan berada di /foo/bardirektori, mari kita atur pemantauan untuk /foo/bar/shoppembuatan, dan rmlangsung jika dibuat:
inotifywait -qme create /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
inotifywait -qme create /foo/bar/foo/bardirektori jam tangan untuk file / direktori apa pun yang mungkin dibuat, misalnya pantau createacara apa pun
Jika dibuat, awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'periksa apakah file tersebut merupakan direktori dan namanya adalah shop( /,ISDIR shop$/), jika demikian rmdirektori ( system("rm -r -- /foo/bar/shop"))
Anda perlu menjalankan perintah sebagai pengguna yang memiliki izin menulis pada direktori /foo/baruntuk dihapus dari shopdirektori.
Jika Anda ingin memantau mvoperasi juga, tambahkan tontonan untuk moved_toacara juga:
inotifywait -qme create,moved_to /foo/bar | \
awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
Sekadar diketahui, jika Anda mencari file, bukan direktori, bernama 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") }'