最佳实践是否表明 /var 的使用应仅限于 sudoers

最佳实践是否表明 /var 的使用应仅限于 sudoers

我写了一个包,想用它/var来保存一些数据。我正在存储的数据甚至可能被认为是/var/db.

我观察到的模式是/var/db及其周围的文件由 拥有root。该包的主要(预期)用途是过滤 cron 作业 - 这意味着您需要编辑 crontab 的权限。

  1. 我应该假定 sudo 安装该软件包吗?
  2. 我应该让该包优雅地降级到一个/usr子目录吗?如果是的话,那么是哪个?
  3. 如果我“认为”任何非 sudo 安装都需要configrc(带有路径),那么包应该在哪里查找(假设共享主机环境)该配置文件?
  4. 我应该/usr/lib按照本文的想法

顺便说一句,这个包是一个红宝石宝石,并且你可以在这里找到它

答案1

如果该软件包以 root 身份安装,则它可以访问/var.

如果它是由用户(既不能写入/var也不能写入)安装的,则默认过程是在脚本中/usr设置。或者您提供其他方法将目录设置为用户具有写访问权限的位置。--prefix=$HOME/somedirconfigure

答案2

/var有点“任何不适合其他地方的东西”。该结构不允许个人用户添加到层次结构中。

如果您的软件包是由普通用户安装的,他们通常会将程序、其静态数据和动态数据全部放在其主目录下的一个目录下。我建议以一种在解压缩程序并从那里运行或运行时才有效的方式打包程序./configure && make && make install,例如类似的结构

bin/myprogram
share/static-data
man/man1/myprogram.1
data/dynamic-data

如果您的软件包是由管理员安装的,则应用程序特定的目录位于/var/lib是不特定于某个用户的动态数据的通常位置。供系统范围使用的包通常以特定于发行版的包格式提供(.deb.rpm、 …);包构建脚本负责正确设置路径。

相关内容