可能重复:
为什么以 root 身份运行不好?
当我在计算机上设置单个用户帐户时,我对 sudo 的必要性感到有些困惑。在安装时,我试图将我的帐户名称称为“root”,但我不被允许这样做。所以我使用了另一个名称,但我仍然不明白为什么某些操作被阻止以及为什么在更新等时需要密码验证。
如果一台机器上有多个帐户,并且某些用户没有设置某些访问权限,我可以理解这一点,但对于单个帐户,这样做有什么必要呢?我可以不以 root 身份登录,但只需输入密码即可执行需要 root 权限的操作,这似乎毫无意义。
如果所有用户都可以这样做,那么 root 访问和其他用户访问之间的区别是什么?我在这里遗漏了什么吗?
答案1
你应该把自己看作不是一个用户,而是两个:
- 完成机器的所有日常使用
- 管理员
作为管理员,您可以执行一些任务,如果犯了错误,这些任务可能会损坏数据。此外,如果您以管理员身份运行,并连接到利用您的用户帐户的恶意网站,攻击者可能会获得您的 root 权限。如果您在以普通用户身份运行时受到攻击,攻击者很难升级到 root 权限。
所以这实际上与安全有关,防止发生意外或恶意事件。
一般规则 - 尽可能以最低权限运行
答案2
这是基本的底层安全功能基于 Ubuntu /Linux 系统的。您可以参考关于此主题的详细描述RootSudo 社区维基
超级用户 (Root) 可以做任何事情,因此以超级用户的身份进行日常工作可能会很危险。您可能会错误地输入命令并破坏系统。理想情况下,您以仅具有手头任务所需权限的用户身份运行.......
....使用须藤默认情况下避免交互式
"I can do anything"
登录(例如,用户倾向于在 Microsoft Windows 系统中以“管理员”用户身份登录),在发生重大更改之前,系统会提示您输入密码,这应该让您考虑结果你正在做的事情。sudo 会添加运行命令的日志条目(在 /var/log/auth.log 中)。如果您搞砸了,您可以随时返回并查看运行了哪些命令。这对于审计也很有用。