行者孙Python

护家篇-Day18|身份切换:Windows 管理员权限 → Linux sudo 提权

📖 知识点

1. Windows 管理员 → Linux sudo

 

 

 

WindowsLinux说明
右键→以管理员身份运行

sudo 命令

用管理员权限执行命令
管理员权限提示(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

  • 避免一直用最高权限,误操作不至于搞坏系统

⚠️ 易错提醒

  1. sudo 只对后面那一条命令生效,下一条命令需要还得再写

  2. 输入密码时屏幕不显示(不会出现星号),正常输入后回车即可,别以为没反应

  3. sudo 前要想清楚,管理员的命令影响面大,别乱敲(尤其别 sudo rm -rf)

⚔️ Kata 实战任务

任务需求:

  1. 用 sudo 执行一条需要管理员的命令,体会 "提权"

  2. 示例:用 sudo 查看一个只有 root 能读的系统文件 /etc/shadow

  3. 输入密码,观察命令以管理员身份执行

  4. 对比普通命令(无需 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 提权后就能读了。这就是 "管理员身份" 的差别。

🧠 思考题

  1. sudo 加在命令前面,它的作用是什么?为什么只在 "那一条命令" 生效?

  2. 为什么 Linux 不鼓励一直用 root 管理员身份干活?sudo 的 "临时提权" 有什么好处?

‹ 返回目录
🏠首页 Python 📦资源 👤关于我