我正在编写一个小实用程序,我必须将配置文件放在某处。从研究来看,这似乎/etc
是 Linux 中的标准位置。但我遇到的问题是该目录默认情况下似乎需要 root 访问权限才能写入。
有没有可以写入而无需调用我的程序的地方sudo
?例如,homebrew
在 mac 上似乎能够在/usr/local/bin
没有 root 访问权限的情况下以某种方式写入。
我知道我可以把东西放进去,/home
但我正在尝试以“正确的方式”做事,以了解文件应该在 Linux 中存储的位置。
答案1
如果您想以正确的方式做事,则程序及其配置文件不得由用户编辑,否则会破坏标准安全模型。
它要么由用户拥有,因此其配置存储在用户主目录中,要么安装在任何系统位置(例如/usr/bin
,/usr/local/bin
,/opt/appname
),然后其配置也再次存储在某些系统位置(例如/etc
, ,/usr/local/etc
或/opt/appname/etc
)。
答案2
您应该使用特定于您的应用程序的子目录(可能是隐藏的),例如.myApp
.它还可能包含版本和安装日志。这使得清理等工作变得更加容易。
如果配置在用户之间共享,您可以在“共享空间”中执行一次性 sudo mkdir 并在该目录中授予相关权限。上面的级别不可写并不重要。
如果您的配置是针对每个用户的,则您的应用程序会.myApp
在安装或首次使用时在用户的 /home/username 下创建。
Linux 有一个官方的文件系统层次结构标准。