大多数应用程序都需要安装 root 密码。
然而,当您运行它们时,它们似乎是在普通用户下运行的。
如果应用程序没有 root 权限,为什么安装时需要输入 root 密码?
答案1
在 Ubuntu 中,对文件系统中仅由 root 拥有的部分进行的任何更改(例如从默认 Ubuntu 存储库安装、升级和卸载软件)都必须由具有 root 权限的用户进行,以防止普通用户对文件系统中仅由 root 拥有的部分进行更改。
通过在命令前添加 来运行需要 root 权限的命令sudo
。然后系统会要求您输入用户密码来验证该命令。验证会在短时间后自动过期,因此如果您在使用 以 root 身份运行命令后离开终端sudo
,则不会无限期地打开 root 终端。
这是否意味着在安装时我授予应用程序绝对权限,即使应用程序最终不以 root 身份运行?
使用 apt 安装软件时,必须以 root 身份运行命令,以便授予 apt 安装软件包及其所需的任何依赖项的权限。由 apt 以 root 身份安装的软件包将获得访问正常运行所需的任何依赖软件包的权限,即使应用程序由普通用户运行。
这一政策使 Ubuntu 成为一个安全的操作系统。
在 Linux(以及一般的 Unix)中,有一个名为 root 的超级用户。root 在 Windows 中的对应角色是管理员组。超级用户可以做任何事情,因此以超级用户的身份进行日常工作可能会很危险。您可能会错误地输入命令并破坏系统。理想情况下,您以仅具有手头任务所需权限的用户身份运行。在某些情况下,这必须是 root,但大多数情况下是普通用户。