ubuntu 15.10 上的 c 中的安全文件

ubuntu 15.10 上的 c 中的安全文件

我想编写一个软件,该软件必须将文件保存在 中/usr/share/xy/。该软件将使用 和 写入和读取这些数据fprintf()fscanf()目录的所有者/xy/是 root,组也是。现在我在文件sudo中使用 启动该软件.desktop

现在我的问题是,是否可以不输入密码启动它们。软件在后台保存数据时需要多大的操作?

谢谢 再见 Nick

答案1

你的程序不应该/usr/share/xy/默认使用 来保存文件。相反,它应该使用$XDG_DATA_HOME/xy$XDG_DATA_HOMEXDG 基础目录规范)。

这避免了您的权限问题和多用户环境中的问题。

答案2

从安全角度来看,以标准用户身份写入根拥有的文件夹的概念是一个坏主意。

应用程序绝不应该写入/usr/share/xy

标准应用程序应该写入用户文件夹 - 类似于~/.config/xy~/.cache/xy

堆栈溢出有一个用于查找主文件夹的问答 - 您只需要strcat.config 或 .cache,测试子文件夹 xy 是否存在,如果不存在,则在写入文件夹之前创建该文件夹。

相关内容