总是 root 有什么问题?

rye*_*guy 85 linux permissions ssh

我有一种感觉,这是一个愚蠢的问题,但这是我一直想知道的问题。

我有一个 VPS,这是我的第一个大型 Linux 企业。我是唯一可以访问它的人。我的问题是,仅以 root 身份登录而不是创建帐户并授予他们 sudo 访问权限有什么问题?如果 sudoer 可以做 root 可以做的一切,那么有什么区别?如果黑客可以破解我的标准非 root 帐户的密码,那么他也可以执行 sudo 命令,那么破解我的 root 帐户的黑客有什么关系呢?

Bar*_*rim 71

如果您以 root 用户身份登录,您可以轻松地擦除目录或执行一些回想起来在系统上非常愚蠢的事情,只需动动手指即可,而作为用户,您通常必须将一些额外的心理周期放入您的在做危险的事情之前打字。

此外,您以 root 权限运行的任何程序,这意味着如果有人或某事让您运行/编译/浏览一个危险的网站并希望损坏您的系统,例如木马或其他恶意软件,它可以完全访问您的系统并且可以做它想做的事情,包括访问低于 1024 的 TCP 端口(例如,它可以在您不知情的情况下将您的系统变成一个转发器)。

基本上,您是在自找麻烦,而以您自己的身份登录可能会避免这种麻烦。我知道很多人最终很高兴他们在一个粗心大意的时刻拥有那个安全网。

编辑:还有一个问题是 root 是最广为人知的,因此是脚本和黑客的一个简单目标。禁用帐户并强制用户使用 sudo 的系统意味着任何从 ssh 破解 root 或本地漏洞到帐户的尝试都是在撞墙。他们必须猜测/破解密码用户名。它在一定程度上通过默默无闻来确保安全,但很难说它不能阻止大多数脚本小子攻击。

  • +1 - 使用“sudo”使以 root 身份执行程序成为一种公开的行为。这不是“阻止黑客”的问题,而是让您养成以非特权用户身份工作的习惯,并使调用 root 特权成为一种有意的、公开的行为。 (25认同)
  • Sudo 还添加了审计跟踪。以 sudo 身份运行时记录谁、什么和何时记录。哪个日志文件可能因发行版而异,但 RedHat 发行版倾向于使用 /var/log/secure 而 Ubuntu 使用 /var/log/auth.log...我不确定这是否适用于所有基于 Debian 的发行版。 (12认同)
  • +1 - 这不仅仅是关于创造东西或做东西的权利,它也是关于破坏的权利。以 root 身份登录(或任何其他操作系统上的等效项)就像在安全关闭的情况下拿着枪四处走动。你可能永远不会故意触碰那个触发器,但你会相信自己做同样的事情吗? (3认同)
  • mh:/me 戴上他的牛仔帽,打开手枪的保险装置,打开一瓶啤酒,低声嘟囔着三色紫罗兰的事情,然后以 root 身份登录。 (3认同)
  • 我开始怀疑 Evan 是否真的是人工智能。 (2认同)

Tom*_*ton 29

如果您不允许白痴以 root 身份登录到您的服务器,那么不要总是自己以 root 身份运行。除非你能真心实意地说你从来都不是白痴。不完全是?你确定?:)

好处:减少你同时成为root白痴的可能性。

  • +1 - “好处:减少你同时成为 root 和白痴的可能性。” 我非常喜欢这个。 (6认同)

Kyl*_*ndt 9

主要原因是错误。如果你总是 root,简单的错字可能真的把系统搞砸了。如果您仅以 root 身份登录或使用 sudo 来执行需要它的操作,那么您将犯下危险错误的风险降至最低。


Stu*_*Stu 9

当您是 root 时,您会对权限变得懒惰,因为您始终可以访问所有内容,因此您不在乎什么时候是 777 或 644 或其他什么。因此,如果您确实让不想访问所有内容的任何其他人进入您的系统,那么让其他人安全使用机器突然之间就变成了真正的困难。

  • 这被称为“根腐病”。 (5认同)

Jef*_*ach 7

不以 root 身份登录背后有几个关键原则:1) 登录时永远不会通过网络发送 Root 密码 2) 如果多个用户以同一帐户(root 或其他)登录,则无法知道谁做了某事。3)不小心做了一些“愚蠢”的事情