读取权限而不解锁对话框

时间:2011-11-04 12:27:07

标签: objective-c macos cocoa permissions filesystems

我想从我的应用程序中打开一些文件,文件由应用程序本身创建,并且可以具有读取或写入权限。

我设置了读取权限文件:

chmod 400 path

当用户尝试编辑此类文件时,我想要读取权限文件不显示解锁对话框

有没有可以帮助我的FS标志?

我只是注意到,如果我尝试更改文件的所有者,烦人的对话框就会消失,用户可以在另一个地方复制该文件。这正是我正在寻找的,但这是阻止文件的正确方法吗?

这里有2张关于所涉及对话框的图片

Unlock Dialog

Allowed Dialog

1 个答案:

答案 0 :(得分:1)

如果文件只具有读取权限,则必须是如果所有者(或某人)尝试更改文件,文件系统将要求输入密码。通常,不能将文件的所有者更改为其他所有者;这将是一个重大的安全漏洞。

也许您正在寻找的是固定旗帜?这将强制用户复制文件以使用它,但阅读它应该没有问题。您可以在查找器中从给定文件的信息窗口轻松获取该文件。

这不是标准的unix标志,而是hfs的标志。您必须使用 NSFileManager 和方法

进行设置
setAttributes:ofItemAtPath:error: