AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 41841
Accepted
thepocketwade
thepocketwade
Asked: 2009-07-17 12:41:21 +0800 CST2009-07-17 12:41:21 +0800 CST 2009-07-17 12:41:21 +0800 CST

为什么 su 到 root 而不是以 root 身份登录?

  • 772

我经常听说用 su 到 root 比直接以 root 用户登录更好(当然人们也说使用 sudo 更好)。我从来没有真正理解为什么一个比另一个更好,洞察力?

linux login root sudo
  • 10 10 个回答
  • 12149 Views

10 个回答

  • Voted
  1. Best Answer
    Dan Carley
    2009-07-17T12:46:55+08:002009-07-17T12:46:55+08:00

    推断是仅su或sudo在需要时。

    大多数日常任务不需要 root shell。因此,最好使用非特权 shell 作为您的默认行为,然后仅在需要执行特殊任务时提升为 root。

    通过这样做,您可以减少您使用的任何应用程序的危险错误(错误的脚本、错误的通配符等)和漏洞的范围。尤其是那些连接到 Internet 的 - 请参阅古老的格言“不要以 root 身份进行 IRC”。

    sudo经常被推荐,因为它允许你细粒度和审计这些权限的使用。

    通过观察这些做法,您还可以禁用远程 root 登录。这增加了任何潜在攻击者的准入门槛,因为他们需要破坏作为“wheel”组成员并且理想情况下仅由 SSH 公钥授权的普通用户帐户,然后是 root 帐户本身。

    • 43
  2. egorgry
    2009-07-17T12:47:24+08:002009-07-17T12:47:24+08:00

    您应该从远程禁用 root 访问,这样攻击者就无法在不首先危害用户然后升级到 root 的情况下危害 root。我们仅在控制台启用 root 访问。

    此外,它还创造了责任感。:)

    • 27
  3. Tim
    2009-07-17T12:48:13+08:002009-07-17T12:48:13+08:00

    主要原因是创建审计跟踪。如果您需要以普通用户身份登录系统,然后以 su 身份登录,则可以跟踪谁对给定操作负责。

    • 15
  4. Jure1873
    2009-07-17T12:48:36+08:002009-07-17T12:48:36+08:00

    sudo 还会自动将每个命令记录到 syslog,您可以定义每个用户可以使用的命令。

    • 10
  5. Zenham
    2009-07-17T13:15:55+08:002009-07-17T13:15:55+08:00

    另一个很好的理由:当通过 sudo 提升到 root 时,用户使用他们自己的凭据进行身份验证,这意味着他们不一定要获得 root 密码,这样当有人离开你的组织时更容易锁定。

    • 9
  6. mibus
    2009-07-17T13:50:48+08:002009-07-17T13:50:48+08:00

    如果您想创建审计跟踪,并且不想成为此处提到的“sudo su -”或“sudo vim foo.txt”问题的受害者,您可以使用“sudosh”。通过 sudo 分发 root 访问权限,但使用唯一允许的命令来运行“sudosh”。

    sudosh 是一个日志外壳,您可以在以后重播整个终端会话,准确显示用户在其终端上看到的内容。

    • 4
  7. chris
    2009-07-17T18:20:22+08:002009-07-17T18:20:22+08:00

    您应该深入练习安全性。

    禁止远程 root 访问(或至少通过密码进行 root 访问)。(如果您允许通过密钥进行 root 访问,请仔细控制这些密钥,或者最好使用允许集中撤销密钥的 kerberos 之类的东西)。

    我会禁用 su 并使用 sudo。这样,用户使用密钥(最好是加密的)来访问系统,然后他们只使用他们的密码来提升权限。您可以限制人们使用 sudo 访问哪些程序,但大多数情况下您只是限制知道 root 密码的人访问。

    在理想的世界中,您应该能够在互联网上发布您的 root 密码,这并不重要,即使您允许人们访问您的机器(但没有将它们放在 /etc/sudoers 文件中)。当然,您不应该公开 root 密码,但其想法是通过同心层保护来保护您的系统。

    • 1
  8. Johan
    2009-07-17T13:05:58+08:002009-07-17T13:05:58+08:00

    这个想法是禁用 root 登录,因此没有默认的管理员帐户。这样,攻击者必须猜测用户名和密码(而不仅仅是密码)。

    • 0
  9. Aiden Bell
    2009-07-17T13:24:25+08:002009-07-17T13:24:25+08:00

    如果您定期使用 root,那么您的权限可能是错误的,或者您可能需要授予 sudo 权限或新的组权限来 r/w/x 文件或目录。

    好的权限方案即使是长期使用 Linux 的用户也会犯错,或者没有意识到他们拥有的范围。

    甚至不要让我开始了解 Ubuntu 所做的事情!

    • 0
  10. gizmo
    2011-01-01T13:29:25+08:002011-01-01T13:29:25+08:00

    它使您无法运行 rm -r -f / 我 2 天前刚刚运行过(作为非特权用户,我打算运行 rm -r -f *)

    • -2

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve