是否所有用户都可以访问/Library/Application Support Library ?
本文关键字:Library Application Support 访问 用户 都可以 是否 | 更新日期: 2023-09-27 18:07:05
我需要在/Library/Application Support
中放置一个文件,以便存储在那里的数据可以由我的应用程序访问,而不管使用mac的用户是谁。所以我计划在/Library/Application Support
中创建一个目录并将数据文件放在其中。
是否需要root权限来创建文件夹并在此目录中放置文件。我试着用
写一个文件string s=System.IO.Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.Personal), "Library");
System.IO.File.Copy ("myfile.rtf", s + "//Application Support//kk.rtf");
文件写入成功。说到麦金塔,我是个新手。当我尝试
/Library是rwx,由root所有,rx给其他人(wheel group)
。:
drwxr-xr-x+ 73 root wheel 2482 Jul 26 11:15 Library
该目录下的项应该只有:
drwxr-xr-x root wheel
但是许多第三方应用程序在安装过程中打破了这一点,并将其目录(和子目录)标记为"rwxrwxr-x",并将其放在admin组(如Parallels)....中这个,连同放置东西在/usr/bin,等等。《El Capitan》将在今秋播出
现在,/Library中的"Application Support"是"drwxr-xr-x root admin",在"正常安装"期间,你会提供一个管理员密码,软件安装程序会在那里创建一个子目录供自己使用/存储,通常标记为"drwxrwxr-x root admin",所以所有用户都可以在那里读写。
现在用户家里的"应用程序支持"对r/w来说是免费的,但这只针对当前用户,其他人看不到更改,因此大多数应用程序都有本地首选项来覆盖全局应用程序支持(与Windows注册表相同)。
所以,在那台机器上放置一个lic文件供所有人共享,全局应用程序支持将是一种方式,你只需要在安装过程中为你的应用程序创建一个r/w目录。
BTW:把单独的文件放在应用程序支持是一个禁忌,只有那个级别的目录,所以复制像你的例子"/Library/Application Support/kk.rtf"是错误的,创建你自己的应用子目录,然后保存kk.rtf在那里。