![非管理员用户可安装和/或运行的应用程序](https://linux22.com/image/1037197/%E9%9D%9E%E7%AE%A1%E7%90%86%E5%91%98%E7%94%A8%E6%88%B7%E5%8F%AF%E5%AE%89%E8%A3%85%E5%92%8C%2F%E6%88%96%E8%BF%90%E8%A1%8C%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
大多数应用程序确实需要由管理员安装,因为我相信它们需要访问系统资源或受保护的文件,以免受到访问或修改。
同时,例如,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 身份运行。