我有一个OS X 10.10应用程序,它是一个美化的复制实用程序。这些副本通常在整个卷或其中的大型子集上执行。由于它们的大小,这些副本可能需要很长时间,因此我希望确保用户在复制期间无权执行某些操作。
基本上,我希望我的应用程序能够执行finder已经执行的操作。如果在Finder中将文件夹从A复制到B,则在操作完成之前不允许重命名任一结构。我希望以编程方式提供相同的安全措施。我想防止目录结构被改变。即,如果用户正在从驱动器A复制到驱动器B,我想确保在我的应用程序中使用这些结构时,可以通过finder重命名任何驱动器/结构中的文件夹或文件。
虽然我知道用户根本不应该做那么愚蠢的事情...我们都知道我们不能依靠我们的用户做出明智的决定。这就是为什么作为工程师我们得到报酬来保护他们自己。
通过我的研究,chflags引起了我的兴趣......特别是uappend旗帜。用该标志标记根目录结构是否会执行我想要的行为?如果没有,我该如何实现这种期望的行为?