首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于特定文件类型,最佳的默认位置是什么?

对于特定文件类型,最佳的默认位置是什么?
EN

Ask Ubuntu用户
提问于 2014-10-01 22:30:52
回答 1查看 89关注 0票数 1

对于我创建的应用程序,我试图找到最佳的文件夹位置。按照文档的建议,我在/usr/share/company_name/product_name中安装了应用程序,将config.ini文件保存在用户主目录中的隐藏文件夹中,并在用户主目录中创建文档。

应用程序需要其他资源:

资源数据库(内容可以通过代码修改,尽管建议用户没有外部访问权限)

资源数据库必须是通用的,对所有用户都是可访问的,因此它不能在用户主目录中。它不能在隐藏目录中,因为程序可以使用浏览器窗口来定位并更改其位置。

我本想把它放在像/var/opt这样的“知名”文件夹中,但是当我试图通过代码打开它时,会出现错误,命令如下

代码语言:javascript
复制
FILE *resource = fopen(path, "r+");

什么是一个资源的好位置,预装的,非只读的,所有用户都可以访问并且可以通过代码修改,而不是隐藏(应该能够浏览到它)?

更新:由于下面的答案中提供的链接,我能够将我的资源放在/srv/MyCompany/MyProduct中。

我希望这是个好地方?

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2014-10-01 23:20:57

配置文件的处理在XDG基础目录规范中进行了描述。

它定义了一组相关的路径环境变量(如XDG_CONFIG_HOMEXDG_CONFIG_DIRS ),这些变量定义了(例如,默认情况下.config目录)的位置,以及如何以其他各种受控制的方式处理它。

很明显,表单~/.config/product_name是非常常见的,当它仅仅是公司的一个产品时,~/.config/company_name并没有什么不同。

但假设有多种产品-我认为这个结构

~/.config/company_name/product1~/.config/company_name/product2.

很有道理;

我不知道这是在这些或相关的标准中描述的。但是,XDG标准可以将其视为正常的产品目录,只是将公司的整套软件视为用于此目的的一种产品。

现场系统层次结构的一般标准用法在Linux文件系统层次结构中进行了描述。

作为应用程序本身的位置,请查看/opt目录;您可以在/opt/company_name/product1等或/opt/product1等中安装应用程序,根据标准,两者都是正确的。

您发现/srv目录可能是一个很好的选择。

我同意这是正确的解决办法--因此,我在这里描述它的答案:

目录/srv类似于/opt --标准并没有过多地描述子目录结构,您可以使用与上面相同的分隔。

虽然/opt明确地用于只读应用程序代码,如可执行文件、静态数据文件和文档,但/srv并不限制数据的可变性;它甚至允许混合具有不同访问权限和可变性的文件。

例如,可以接受在那里部署可由系统用户更改的文件。

来自Linux文件系统层次结构: 1.19

代码语言:javascript
复制
  This main purpose of specifying this is so that users may find
  the location of the data files for particular service, and so that
  services which require a single tree for readonly data, writable data
  and scripts (such as cgi scripts) can be reasonably placed. Data that
  is only of interest to a specific user should go in that users'
  home directory.

  The methodology used to name subdirectories of /srv is unspecified as there
  is currently no consensus on how this should be done.

若要管理对需要对软件的所有用户可写的数据的访问权限,应使用分配给包含所有用户的组的权限。

即使“该计算机的所有用户”都在这个组中,也是如此--许多系统用户不应该能够写入数据;攻击者可能会访问其中一个系统用户帐户。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/531219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档