当前位置:首页>Linux>Linux 普通用户、root、sudo 到底是什么关系?(新手彻底搞懂权限体系)

Linux 普通用户、root、sudo 到底是什么关系?(新手彻底搞懂权限体系)

  • 2026-09-02 20:34:28
Linux 普通用户、root、sudo 到底是什么关系?(新手彻底搞懂权限体系)

很多刚接触 Linux 的人,都会遇到这样的报错:

Permission denied

或者:

Operation not permitted

明明命令是对的,为什么不能执行?

因为你还没有真正理解:

Linux 是一个“多用户权限系统”。

如果说 之前的Linux文章让你明白系统结构长什么样,那这一篇,就是让你理解:

谁有权力动这个系统?

今天这篇文章一次讲清楚:

  • 什么是普通用户?
  • 什么是 root?
  • sudo 到底在做什么?
  • 为什么生产环境不建议长期用 root?

一、Linux 是多用户系统

Linux 从设计之初,就是给多人同时使用的。

同一台服务器可以:

  • 多人同时登录
  • 各自拥有独立目录
  • 拥有不同操作权限

查看当前用户:

whoami

系统会告诉你当前登录的是谁。

二、什么是普通用户?

普通用户是:

权限受限的账号

创建用户:

useradd testuserpasswd testuser

切换用户:

su - testuser

普通用户可以:

  • 操作自己的家目录 /home/testuser
  • 创建文件
  • 运行普通命令

但不能:

  • 修改系统配置(/etc)
  • 安装软件
  • 启停系统服务
  • 修改其他用户文件

这叫做:

权限隔离

目的只有一个——安全。

三、什么是 root?

root 是:

Linux 的超级管理员账户

它拥有:

  • 所有文件读写权限
  • 所有系统控制权限
  • 可以删除任何文件
  • 可以修改任何配置

切换到 root:

su -

再查看:

whoami

会显示:

root

此时命令提示符通常变成:

#

这表示:

你现在拥有最高权限

四、rm -rf / 真的会删光系统吗?

这是很多教程都会举的例子。

理论上:

rm -rf /

表示递归删除整个根目录。

但在现代 Linux 系统中,默认启用了保护机制:

--preserve-root

执行时通常会看到提示:

rm: it is dangerous to operate recursively on'/'

系统会阻止操作。

⚠ 但是:

以下写法仍然可能造成严重破坏:

rm -rf --no-preserve-root /rm -rf /*

第二条命令删除的是:

根目录下的所有内容

而不是删除 / 本身。

保护机制并不能防住一切。

所以重点不是这条命令会不会执行,而是:

root 权限可以做不可逆操作

这就是为什么 root 很危险。

五、sudo 是干什么的?

sudo 全称:

superuserdo

意思是:

以超级管理员身份执行一次命令

例如普通用户执行:

yum install nginx

可能会报错:

Permission denied

加上 sudo:

sudo yum install nginx

系统会:

  • 检查你是否有 sudo 权限
  • 要求输入你的密码
  • 临时用 root 权限执行

执行完后:

你仍然是普通用户

这叫:

临时提权

六、sudo 权限如何控制?

sudo 权限由配置文件控制:

/etc/sudoers

在不同系统中:

  • CentOS / RHEL 使用 wheel 组
  • Ubuntu 使用 sudo 组

例如(CentOS):

usermod -aG wheel testuser

查看用户所属组:

groups

七、root 和 sudo 的本质区别

项目
root
sudo
权限
永久最高权限
临时提权
安全性
风险高
更安全
推荐使用
❌ 不建议长期使用
✅ 推荐

可以这样理解:

root = 直接当老板sudo = 向老板申请签字

八、文件权限与用户关系

Linux 权限由三类身份控制:

  • u(所有者)
  • g(所属组)
  • o(其他人)

三种权限:

  • r 读
  • w 写
  • x 执行

查看文件权限:

ls -l

示例:

-rwxr-xr--1 root root 1234 test.sh

表示:

  • root 可读写执行
  • 同组用户可读执行
  • 其他人只读

这就是权限体系的基础。

九、什么时候必须用 sudo?

常见场景:

  • 安装软件
  • 修改 /etc 配置
  • 启停服务
  • 使用 1024 以下端口
  • 修改系统文件

例如:

sudo systemctl restart nginxsudo vim /etc/nginx/nginx.conf

十、生产环境最佳实践

✔ 禁止 root 远程 SSH 登录✔ 使用普通用户 + sudo✔ 只给必要人员 sudo 权限✔ 使用密钥登录

这是服务器安全最基本的规范。

十一、一句话总结

普通用户 = 日常操作sudo = 临时提权root = 系统最高管理员

学习 Linux,请养成习惯:

平时用普通用户需要时用 sudo不要直接 root 干到底


文 / 零距技术仓记录每一次真实的折腾 (#^.^#)🚀 想看到更多实用折腾技巧?👉 先关注💬 评论区说说你的经历或想看的内容👍 点赞表示支持🔁 顺手分享给也在折腾的人,让大家都少踩坑 😎

最新文章

随机文章