非管理员用户可安装和/或运行的应用程序

非管理员用户可安装和/或运行的应用程序

大多数应用程序确实需要由管理员安装,因为我相信它们需要访问系统资源或受保护的文件,以免受到访问或修改。

同时,例如,Netbeans 或 Aptana 不需要管理员安装(都使用 JavaRE)。

因此,有三个问题:

1) 是否有或多或少通用的方法可以从存储库安装应用程序,而无需非管理员用户使用 sudo 供其使用?至少那些不需要任何特殊操作即可运行的应用程序。

2) 您知道还有哪些应用程序/游戏等不需要管理员安装?(我不知道这个问题有多广泛。)

3) 当非管理员用户安装基于 Java 的应用程序时,它 (JavaRE) 是否会授予该应用程序对任何系统文件/资源​​等的访问权限,否则将受到修改保护?我认为不会,但同时 Java 是由管理员安装的,并且在安装过程中它可能已授予自己对某些资源的访问权限。

答案1

deb/dkpg软件包需要 root 权限才能安装。这既是为了保护机器及其其他用户免受伤害,也是为了保护软件免受用户的侵害。(我觉得这很有道理!)从技术上讲,情况确实如此,因为整个 apt/dpkg 数据库都归 root 所有。

侧边栏:如今,您可以无需 root 身份安装和更新任何内容,因为有一个名为 PolicyKit 的权限框架,它类似于用于图形界面的 sudo/sudoers。

但是没有理由你不能拥有其他格式的本地存储库。Desura(类似 Steam)管理你的游戏安装。Eclipse 可以管理自己的插件并更新它们。Firefox 负责插件。它们都是以自己的方式存储的存储库。


大多数软件无需安装。如果您可以下载,大多数软件都可以提取、编译(如果需要)并运行。您无需跳过打包步骤。

很多游戏都带有.run安装程序。如果您以 root 身份运行这些程序,它会将游戏安装到/opt//usr/local/games/等,否则它会安装到您的主目录中。


至于你的第三个问题,答案是否定的。它只能修改用户可以修改的内容。对于以 root 身份安装的 Java(或其他)应用程序也是如此。除非它通过疯狂的 setuid 进程运行,否则它只能访问用户可以访问的内容。仅仅因为可执行文件可能归 root 所有,并不意味着它以 root 身份运行。

相关内容