📖 知识点
1. Windows 管理员 → Linux sudo
| Windows | Linux | 说明 |
|---|---|---|
| 右键→以管理员身份运行 |
| 用管理员权限执行命令 |
| 管理员权限提示(UAC) | 输入密码 | 确认你有权限 |
sudo = superuser do(用超级用户身份执行)。在命令前面加
sudo,这条命令就以管理员(root)身份运行,临时 "提权"。
💡 生活比喻有些门(系统设置)普通钥匙打不开,得找管理员(root)来开门。
sudo就像 "临时借管理员的钥匙"—— 在命令前喊一声 sudo,就用管理员的身份去开门,办完事又回到普通身份。
2. sudo 的基本用法
sudo 命令 # 以管理员身份执行这条命令
常见场景:
sudo apt install vim # 安装软件(需要管理员)
sudo chown root 报告.txt # 改属主(需要管理员)
sudo mkdir /opt/新目录 # 在系统目录建文件夹
执行时终端会提示
[sudo] password for user:,输入你的密码(输入时不显示,正常),回车确认。
3. 为什么不一直用 root?
sudo 只在单条命令时临时提权,用完就回到普通身份。这样更安全:
普通操作(日常文件、查看)用普通身份
需要管理员的重活(装软件、改系统)才
sudo避免一直用最高权限,误操作不至于搞坏系统
⚠️ 易错提醒
sudo只对后面那一条命令生效,下一条命令需要还得再写输入密码时屏幕不显示(不会出现星号),正常输入后回车即可,别以为没反应
sudo前要想清楚,管理员的命令影响面大,别乱敲(尤其别sudo rm -rf)
⚔️ Kata 实战任务
任务需求:
用
sudo执行一条需要管理员的命令,体会 "提权"示例:用
sudo查看一个只有 root 能读的系统文件/etc/shadow输入密码,观察命令以管理员身份执行
对比普通命令(无需 sudo)和 sudo 命令的区别
参考代码(在终端依次敲)
# 普通身份看一个系统敏感文件(通常权限不足)
cat /etc/shadow
# 用 sudo 以管理员身份查看(会要密码)
sudo cat /etc/shadow
运行示例:
user@linux:~$ cat /etc/shadow
cat: /etc/shadow: 权限不够
user@linux:~$ sudo cat /etc/shadow
[sudo] password for user:
root:!*:...:0:99999:7:::
daemon:*:...
(能看到了,因为用管理员身份读取)
💡 体会:普通身份读
/etc/shadow被拒(权限不够),加sudo提权后就能读了。这就是 "管理员身份" 的差别。
🧠 思考题
sudo加在命令前面,它的作用是什么?为什么只在 "那一条命令" 生效?为什么 Linux 不鼓励一直用 root 管理员身份干活?
sudo的 "临时提权" 有什么好处?
行者孙Python