Ubuntu 26.04 为什么要用 sudo,如何添加才不会出错?

刚装完 Ubuntu 26.04 的人,大概率都会碰到一个场景:敲个命令想装软件、改个系统文件,终端直接甩一句 “Permission denied”。网上一搜,人家说前面加个 sudo 就行,输完密码果然好使。可很多人用到现在,也没仔细想过:为啥 Ubuntu 非要搞个 sudo 出来?直接用 root 账号不香吗?还有给新用户加 sudo 权限的时候,为啥有人一加就把系统搞崩?今天就顺着日常使用的思路,把这件事说透。

先说说最根本的问题:Linux 系统里本来就有 root 超级管理员,权限大到可以删光整个系统,为啥 Ubuntu 偏偏默认不让你直接用 root 登录,非要套一层 sudo?这其实不是多此一举,反而是 Ubuntu 对新手很友好的一个设计。

你想啊,root 账号权限没有任何限制,手滑敲错一个命令,比如 rm -rf / 这种,系统直接就没了。而普通用户默认只能动自己家目录里的东西,就算乱删一通,最多把自己的文档搞没,系统本身安然无恙。sudo 的作用,就是给普通用户 “临时借一下” 管理员权限,用完就收回去。你每次只有在命令前面加 sudo 的时候,才拥有 root 权限,平时操作还是普通用户身份,大大降低了误操作搞垮系统的概率。

还有一层是安全和审计。如果多人共用一台服务器,每个人都用自己的账号加 sudo 执行管理操作,系统日志里能清楚查到谁在什么时候执行了什么命令。要是大家都共用 root 密码,出了问题根本找不到责任人。而且 Ubuntu 默认禁用 root 远程登录,也能减少被暴力破解的风险 —— 黑客想猜密码,至少得先猜对用户名才行。

说白了,sudo 就是一道安全闸门,既不耽误你管理系统,又能在日常使用中把权限关在笼子里。


接下来聊大家最常碰到的需求:怎么给一个普通用户加上 sudo 权限,而且操作完不出错。网上教程很多,但踩坑的人也不少,最常见的错误就是加完 sudo 之后,用户原来的组没了,或者直接把 sudoers 文件改坏,导致所有用户都用不了 sudo,进退两难。

先说最稳妥、最推荐的方法,一条命令就能搞定:

sudo usermod -aG sudo 用户名

这里重点说一下 -aG 这两个参数,很多人出错就出在这里。-G 是把用户加入指定的附加组,而 -a 是 append 的意思,也就是 “追加”。如果漏掉了 -a,只写 usermod -G sudo 用户名,后果就是用户会从原来所有的附加组里被踢出去,只保留 sudo 这一个附加组。很多人改完之后发现自己连 U 盘都插不了、声音也没了,大概率就是踩了这个坑。

执行完之后,怎么确认有没有生效?最稳妥的方式是让这个用户重新登录一次,因为组权限是登录时加载的,不退出重进不会生效。登录之后可以用 id 命令看一下,输出里如果有 sudo 组,就说明成功了。也可以直接试一条需要权限的命令,比如 sudo apt update,能正常跑就没问题。


有人可能会问:除了加 sudo 组,还有别的方法吗?当然有,就是直接修改 /etc/sudoers 文件。但这个操作风险很高,不建议新手随便碰。如果你一定要改,绝对不能直接用编辑器打开这个文件,必须用 visudo 命令。

为什么非得用 visudo?因为它会在你保存退出的时候自动检查语法。如果配置写错了,它会提示你哪里有问题,不让你带着错误保存。要是你直接用 vim 或者 nano 改,一旦语法写错,整个 sudo 机制就会直接失效,到时候你既没法用 sudo 修复,也切不到 root,就只能进恢复模式去救系统了。

用 visudo 的方法也很简单,执行:

sudo visudo

找到类似 root ALL=(ALL:ALL) ALL 这一行,在下面仿照格式加一行:

用户名    ALL=(ALL:ALL) ALL

保存退出就行。这种方式适合精细化控制的场景,比如只允许用户执行某几条特定命令,而不是给全部管理员权限。普通日常使用的话,直接加 sudo 组完全够用,也更安全。


再补充几个新手常问的小问题。

很多人觉得每次输密码麻烦,想设置成执行 sudo 不用输密码。可以做,但不建议在生产环境这么干,自己本地电脑图方便倒是无所谓。方法还是用 visudo,把刚才那行改成:

用户名    ALL=(ALL:ALL) NOPASSWD: ALL

保存之后再用 sudo 就不用输密码了。但一定要想清楚,要是别人坐到你的电脑前,也能随便改系统设置,安全风险会高很多。

还有一个常见误区:加了 sudo 权限就等于变成 root 了。其实不是。不加 sudo 的时候,你还是普通用户,该没权限还是没权限。只有命令前面加 sudo 的那一瞬间,才是用 root 身份执行的。所以不要觉得加了 sudo 组就可以乱改系统文件,该注意的地方还是要注意。


最后总结一下。Ubuntu 设计 sudo 机制,本质上是 “最小权限原则” 的体现 —— 平时用最低权限运行,需要管理权限时临时申请,既方便又安全。给用户加 sudo 权限,记住最稳妥的姿势:用 usermod -aG sudo,别漏了 -a;如果要改 sudoers 文件,一定用 visudo 检查语法。

把这几点记住,基本就不会在 sudo 这件事上踩大坑了。Linux 的权限管理看似麻烦,其实都是前人踩过无数坑总结出来的经验,顺着规则用,系统才能稳当。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress