当前位置: 首页 > article >正文

unix/linux,sudo,一个强大且灵活的工具,允许一个被授权的用户以另一个用户(通常是root,即超级用户)的身份来执行命令

sudo:不仅仅是“用管理员权限运行”

sudo 这个词,来源于 SuperUser DO (或者 Substitute User DO,后者的含义更为广阔和准确)。它是一个强大且灵活的工具,允许一个被授权的用户以另一个用户(通常是root,即超级用户)的身份来执行命令。

1. Unix/Linux 的权限哲学:最小权限原则 (Principle of Least Privilege)

在我们深入sudo之前,必须先理解 Unix/Linux 系统的一个核心设计哲学——最小权限原则。想象一下,在一个精密的物理实验室里,每个研究员都只拥有操作自己实验区域设备的权限,而不是整个实验室所有设备的权限。这样做的好处显而易见:

  • 安全性:万一某个研究员操作失误,影响范围被限制在最小。如果恶意攻击者攻破了一个普通账户,他也无法立即对整个系统造成毁灭性打击。
  • 稳定性:减少了因误操作导致系统全局性问题的风险。
  • 可追溯性:如果发生了问题,更容易定位到是哪个环节、哪个权限范围出了问题。

在 Unix/Linux 中,root用户(UID为0)拥有至高无上的权限,可以对系统进行任何操作,就像拥有实验室万能钥匙的管理员。如果所有人都用root账户日常操作,那将是一场灾难!一个不经意的rm -rf /就可能让整个系统灰飞烟灭。

2. sudo 的诞生:优雅的权限提升方案

那么,当普通用户确实需要执行一些需要更高权限的操作时(比如安装软件、修改系统配置、管理服务等),该怎么办呢?

  • 早期的方法: su (Substitute User)
    su命令允许你切换到另一个用户,最常见的是su -切换到root用户。但这有几个问题:
    1. 你需要知道root用户的密码。将root密码分享给多个用户本身就是安全隐患。
    2. 一旦切换到
http://www.lryc.cn/news/2401176.html

相关文章:

  • JavaScript 二维数组初始化:为什么 fill([]) 是个大坑?
  • 项目任务,修改svip用户的存储空间。
  • TypeScript 全面学习指南 (2025最新版)
  • 【redis】过期策略 懒惰删除
  • Docker或Docker-Compose时间时区配置
  • 如何在IDE中通过Spark操作Hive
  • ToolsSet之:XML工具
  • keepalived定制日志bug
  • ElasticSearch+Gin+Gorm简单示例
  • 数据库系统概论(十三)详细讲解SQL中数据更新(插入,修改与更新)
  • JVMTI 在安卓逆向工程中的应用
  • 极客时间-《搞定音频技术》-学习笔记
  • 网络攻防技术十三:网络防火墙
  • Express 集成Sequelize+Sqlite3 默认开启WAL 进程间通信 Conf 打包成可执行 exe 文件
  • CppCon 2015 学习:A C++14 Approach to Dates and Times
  • 基于CNN的OFDM-IM信号检测系统设计与实现
  • macos常见且应该避免被覆盖的系统环境变量(避免用 USERNAME 作为你的自定义变量名)
  • 2024年认证杯SPSSPRO杯数学建模D题(第二阶段)AI绘画带来的挑战解题全过程文档及程序
  • 深入理解CSS常规流布局
  • DOCKER使用记录
  • MYSQL中常见的函数和使用
  • 【深度学习相关安装及配环境】Anaconda搭建虚拟环境并安装CUDA、cuDVV和对应版本的Pytorch,并在jupyter notebook上部署
  • web3-区块链基础:从区块添加机制到哈希加密与默克尔树结构
  • TCP小结
  • django ssh登录 并执行命令
  • unix/linux,sudo,其高级使用
  • Python 打包指南:setup.py 与 pyproject.toml 的全面对比与实战
  • 计算机视觉与深度学习 | 基于OpenCV的实时睡意检测系统
  • python打卡day44@浙大疏锦行
  • 性能优化 - 案例篇:缓存_Guava#LoadingCache设计