Sudo 要小心了!Run0 的登场或将重塑 Linux 权限提升规则

在 Linux 世界,Sudo 命令长期以来一直是权限管理的核心工具。尽管它功能强大,但随着安全需求的变化,其局限性逐渐显现,而新工具 Run0 通过更现代化的机制带来了可能的解决方案。

Sudo 的优势与隐患

Sudo 让普通用户能够临时借用高权限运行命令或程序,通常以超级用户(root)的身份执行任务。这种机制非常实用,但它也带来了一些隐患:

  1. 执行环境风险:Sudo 提升的权限仍在用户原始环境中运行,这些环境通常针对非特权任务设计,容易暴露安全漏洞。
  2. 认证宽限期:Sudo 的“认证宽限期”(默认 5 至 15 分钟)可能让攻击者趁机执行未经授权的操作。
  3. SUID 文件问题:某些命令依赖设置 SUID 位来实现特权运行,但配置不当可能导致严重的权限提升漏洞。
  4. 命令实现缺陷:命令未妥善处理权限提升带来的副作用,也会成为攻击的突破口。

尽管 Sudo 深受欢迎,但在现代安全场景下,它的这些问题逐渐显现。

Run0 的新优势

Run0 是基于 systemd-run 的一个工具,为权限管理带来了新的思路。

Run0 的运行方式

  1. 服务化运行命令:Run0 将目标命令以短暂的服务形式运行,命令完成后,权限立即恢复为普通用户身份。
  2. 严格的每次认证:Run0 不再允许“认证宽限期”,每次运行命令都需要重新输入密码,大幅提高安全性。
  3. 隔离认证与命令执行:Run0 使用 polkit 来处理认证,避免了认证信息暴露给目标命令的风险。
  4. 无需 SUID 文件支持:通过 Run0,特权命令不需要依赖 SUID 位,简化了系统的权限配置,降低了出错概率。

如何使用 Run0?

使用 Run0 的前提是系统运行 systemd 256 版本或更高版本,推荐使用修复了关键 bug 的 256.1 版本

可通过以下命令检查系统的 systemd 版本:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ systemctl --version

输出类似于以下内容,确认版本满足要求:

+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +SYSVINIT +LIBARCHIVE

运行命令

要以 Run0 提升权限运行命令,只需在命令前加上 run0

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ run0 ls

如果你使用图形桌面环境,系统会弹出对话框提示输入密码。在终端环境中,背景颜色会改变,提醒你当前正在使用提升的权限。如下图:

设置背景颜色

默认情况下,Run0 会改变终端背景颜色,你也可以自定义颜色或关闭此功能:

  • 指定蓝色背景和白色文字:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ run0 --background="44" ls -l

  • 不显示背景颜色:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ run0 --background= ls -l

  • 其他颜色

切换到 root 模式

直接运行 run0 会进入 root 模式,类似于 Sudo 的 su 命令:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ run0

此时,你的提示符会显示为 root,输入 exit 或按下 Ctrl+D 即可退出 root 模式,恢复普通用户身份。

Run0 会改变 Sudo 的规则吗?

尽管 Run0 在安全性上更胜一筹,但它短期内并不会完全取代 Sudo:

  1. 用户习惯:Sudo 的操作方式已经深深植根于 Linux 用户的日常工作中。
  2. 系统兼容性:如果系统仍存在 SUID 文件,仅引入 Run0 并不能显著提升整体安全性。
  3. 认证工具依赖:Run0 使用的 polkit 也依赖 SUID 文件,过去曾暴露安全问题,Run0 的安全性在一定程度上仍取决于 polkit 的完善。

不过,随着用户对安全需求的提升以及 systemd 的普及,Run0 可能逐渐成为一种新的标准。

总结

Sudo 是 Linux 权限管理领域的老牌工具,但其设计理念存在一定的历史局限性,特别是在权限提升的安全隔离和认证机制方面。Run0 提供了一种更安全、更现代的解决方案,通过严格的每次认证和隔离机制,减少了 Sudo 的潜在风险。

然而,Run0 的普及仍需时间,其“每次认证”的要求也可能让部分用户觉得不便。但对于注重安全性的用户来说,Run0 提供了值得尝试的替代方式。如果想要保持使用习惯,不妨试试将 Sudo 的操作映射到 Run0 上,这样既能享受更好的安全性,又不会改变你的日常工作流程!

The post Sudo 要小心了!Run0 的登场或将重塑 Linux 权限提升规则 first appeared on Linux迷.

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/182190.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>