我可以防止创建具有特定名称的文件夹吗?

安德鲁

我正在使用LAMP Web应用程序,并且某个地方有一个计划的过程,该过程一直shop在网站的根目录中创建一个文件夹每次出现这种情况,都会导致与应用程序中的重写规则发生冲突,这不是很好。

在找到令人讨厌的脚本之前,是否有办法防止shop在根目录中创建任何名为文件夹的文件夹我知道我可以更改文件夹的权限以防止更改其内容,但是我还没有找到一种方法来防止创建具有特定名称的文件夹。

血红素

鉴于创建目录的用户具有足够的权限可以在父目录上进行写入,因此您不能这样做。

相反,您可以利用inotifyLinux内核提供的系统调用系列来监视给定目录中目录的创建(或可选mv-ing)shop,如果已创建(或可选地mv-ed)rm该目录。

在这种情况下,您需要的用户空间程序是inotifywait(随附于inotify-tools,如果需要,请先安装它)。


假设该目录shop位于/foo/bar目录中,让我们设置一个监视/foo/bar/shop创建的操作,并rm在创建后立即进行监视

inotifywait -qme create /foo/bar | \
             awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'
  • inotifywait -qme create /foo/bar手表/foo/bar目录可能创建的,即手表任何任何文件/目录create事件

  • 如果创建,则awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'检查文件是否碰巧是目录,并且名称是shop/,ISDIR shop$/),如果,则rm目录(system("rm -r -- /foo/bar/shop")

您需要以对目录具有写许可权的用户身份运行命令,/foo/bar以便shop目录中删除该命令


如果您也想监视mv-ing操作,请同时添加监视moved_to事件:

inotifywait -qme create,moved_to /foo/bar | \
             awk '/,ISDIR shop$/ { system("rm -r -- /foo/bar/shop") }'

请注意,如果要查找的文件不是目录,则名为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") }'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从具有特定名称模式的文件夹的内容创建 zip 文件?

如何删除具有特定名称的文件夹

在子文件夹中找到具有特定名称的空文件夹?

删除文件夹中除具有特定名称的文件夹外的所有文件夹

在另一个文件夹中创建相同的子文件夹,并复制具有特定名称的文件

从某个目录中删除具有特定名称的文件和文件夹

如何在文件夹中打印具有特定名称的文件

使用查找在具有特定名称但深度未知的子文件夹中获取文件

使用Powershell计数子文件夹中具有特定名称的文件数

如何在VBA中打开具有特定名称的文件夹中的文件?

如何使用Powershell删除具有特定名称的所有文件夹

批处理命令删除所有具有特定名称的子文件夹

删除ntfs驱动器上所有具有特定名称的文件夹

是否有任何方法可以防止用户创建上帝模式文件夹

在每个子文件夹中创建一个带有特定名称的空文件的文件夹

重命名文件夹中具有特定名称的所有具有特定格式的文件

使用vbscript监视具有指定名称的最新创建的文件夹

Python:如何将具有特定名称的文件移动到具有相同名称的文件夹

gitignore规则始终包含具有特定名称的文件夹

Powershell删除具有特定名称的子文件夹

如何压缩具有特定名称的多个文件夹?

在Mac上搜索具有特定名称的文件夹?

如何在Python中删除具有特定名称的文件夹?

在Scala中搜索具有特定名称的文件夹

将具有特定名称的文件夹提取到并行目录结构?

打开具有特定名称模式的不同文件夹和工作表?

应用$ filter选项以在Graph API中检索具有特定名称的文件夹

如何在服务器上查找具有特定名称的文件夹?

Linux:如何删除文件夹中除具有特定名称的文件以外的所有文件?