应用程序的正确权限是什么?

应用程序的正确权限是什么?

我安装了 Umbrello,但它既不能保存也不能自动保存。查看应用程序权限,它说它由 root 拥有,组设置为只读,这似乎是问题所在。所以我的一般问题是应用程序权限应该用于一般目的并可供所有用户使用?

答案1

除非设置了 setuid 和 setgid 位,否则可执行文件的权限不会确定基于该文件的进程的安全上下文。

例如,/bin/ls属于root;但因此它没有特殊权限。当用户joe键入时lsls 过程使用 user 的凭据运行joe

必须安装适用于所有用户的应用程序,以便所有用户都有权运行可执行文件,并且所有全局配置数据都可供用户读取。这些材料都不应该是可写的。 (例如 中的配置、 (GNU/Linux 约定)/etc中的静态数据。/usr/share/<appname>

应用程序应将其本地用户首选项保存在用户可读可写的某个区域中,例如其主目录中的配置文件。如果应用程序无法自动保存,则可能不是其安装材料的权限问题。相反,它会尝试自动保存到调用用户没有权限的位置,或者不存在的位置(包含一个或多个不存在的目录组件的路径)。这可能是本地或全局配置中的某些问题。

如果您在程序中遇到令人费解的权限问题,并且不清楚它试图访问什么或在哪里,您可能能够发现正在发生的情况的一种方法是在系统调用跟踪实用程序下运行应用程序就像strace在 GNU/Linux 系统或trussSolaris 上一样。 (从终端控制台或窗口,或者将跟踪重定向到文件。)当权限问题重现时,在跟踪末尾附近查找与文件系统访问相关的失败系统调用。

相关内容