root 用户
理解 root 用户的权限与风险
掌握 sudo 和切换 root 的正确用法
建立权限安全意识
核心讲解
(1)root 用户是什么
root 是 Linux 的超级管理员,拥有系统最高权限,可以对系统做任何操作,没有任何限制。 普通用户只能操作自己家目录的文件,系统级操作没有权限。
(2)为什么不一直用 root
误操作风险极高:一个删除命令就可能删掉系统文件,导致系统崩溃,没有挽回余地
安全风险大:黑客拿到 root 权限就完全控制了服务器
最佳实践:平时用普通用户操作,需要管理员权限时临时提权
(3)sudo:临时提权
普通用户临时执行管理员命令,输入自己的密码,获得一次性 root 权限。Ubuntu 安装时创建的第一个用户默认在 sudo 组里。
用法:命令前面加
sudo特点:几分钟内再次执行 sudo 不用重复输密码
(4)切换到 root 用户
sudo -i(推荐) 切换到 root 用户,同时切换到 root 的环境变量和家目录,最规范的方式。 退出输入
exit回到普通用户。su root 切换到 root,需要输入 root 的密码。Ubuntu 默认 root 是锁定的,没有密码,需要先设置才能用。
提示符从
$变成#,就说明当前是 root 权限。
操作示例
# ===== sudo的使用 =====
# 普通用户执行系统命令,加sudo提权
sudo apt update
# 输入当前用户的密码(不是root密码)
# ===== 切换到root =====
# 方式1:推荐方式
sudo -i
# 提示符变为 root@ubuntu:~#
# 此时执行任何命令都不用再加sudo
# 退出root,回到普通用户
exit
# 方式2:设置root密码后用su切换
# 设置root密码
sudo passwd root
# 输入两次新的root密码
# 切换root
su root
# 输入刚才设置的root密码
# ===== 验证当前用户 =====
whoami
# 查看当前用户sudo权限
sudo -l
常见误区
日常操作一直用 root:非常危险,一个误删就可能毁系统,务必用普通用户
sudo 输 root 密码:sudo 验证的是当前用户自己的密码,不是 root 密码
root 密码设置过弱:生产环境 root 密码必须高强度,禁止弱密码
远程直接登录 root:生产环境禁止 root 远程登录,用普通用户登录后再切换
课后练习
用 sudo 执行一次系统更新命令
用 sudo -i 切换到 root,观察提示符的变化,再退回普通用户
设置 root 密码,用 su 方式切换 root,验证后退出
思考:为什么生产环境禁止直接用 root 远程登录?
