当前位置: 首页 > news >正文

虚拟机 | Ubuntu操作系统:su和sudo理解及如何处理忘记root密码

系列文章目录

虚拟机 | Ubuntu 安装流程以及界面太小问题解决
虚拟机 | Ubuntu图形化系统: open-vm-tools安装失败以及实现文件拖放


文章目录

  • 系列文章目录
  • 前言
  • 一、su和sudo是什么?
    • 1、su
      • 忘记root密码的解决方案
        • 无法进入GRUB引导页面
    • 2、sudo
      • 推荐使用sudo
  • 总结


前言

经过之前系列文章的学习,我们学会了Ubuntu操作系统的安装,使用open-vm-tools工具集简化宿主机与虚拟机之间的交互。

现在,我们要开始新的历程!

Linux是一个典型的多用户操作系统,所以,接下来,让我们来探索一下多用户的功能实现,这能够帮助我们更好的使用Linux操作系统。

从用户的观点来看,操作系统是用户与计算机之间的接口


一、su和sudo是什么?

在Linux操作系统中,su和sudo是两个用于执行管理任务或以其他用户身份运行程序的命令。
它们都与系统的安全模型有关,特别是与用户权限提升相关。

1、su

  • su代表“switch user”或“substitute user”的缩写,其主要功能是允许用户切换到另一个用户账户下执行命令,默认情况下是切换到超级用户(root)。
  • 使用su时,系统会提示输入目标用户的密码,如果正确,则切换成功。
# 切换到root用户:
su - 或 su - root

# 切换到其他用户:
su - username

命令图示:

在这里插入图片描述
在这里插入图片描述
注意:

  • 使用su完全切换到了目标用户的环境下,这意味着所有环境变量都将被替换为目标用户的设置。

忘记root密码的解决方案

  • 一般的linux发行版在安装时,会让我们为 root 用户设置密码,并同时创建一个拥有 sudo 权限的普通用户账户。

情况一:

  • 忘记root密码,但是知道拥有sudo权限账户的密码。(简单仅需要终端操作即可)
# 设置root账户密码
sudo passwd root

在这里插入图片描述
情况二:

  • 忘记root密码,且不知道拥有sudo权限账户的密码。(GRUB)
无法进入GRUB引导页面

编辑GRUB配置文件:

sudo nano /etc/default/grub

修改以下内容(如果有):

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=10

注释以下内容后,按 ctrl+z 退出编辑:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

更新GRUB配置:

sudo update-grub

正常操作流程,如下:

1、重启,长按shift键进入Grub引导加载程序

在这里插入图片描述
2. 在Ubuntu选项,按E键对其进行编辑

  • 找到 Linux行,在末尾添加如下内容:
rw init=/bin/bash

在这里插入图片描述
3. 配置完成后按Ctrl+X键,可进入命令操作界面

  • 输入如下命令修改密码:
passwd

在这里插入图片描述

4、重启系统,正常登录。

2、sudo

  • sudo意为“superuser do”,它允许授权用户以另一个用户(通常是root用户)的身份执行命令,而不需要知道那个用户的密码。

  • sudo通过配置文件:

    • /etc/sudoers,来指定哪些用户可以运行哪些命令。
    • 可以通过不同的参数进行细粒度控制。
  • 以root身份执行单个命令:sudo command

  • 执行多个命令或长时间的任务,使用以下命令来获得一个root shell:

    • sudo -s
    • sudo -i
    • sudo su + 当前账户密码

在这里插入图片描述

推荐使用sudo

  • sudo相对于su的一个关键优势在于
    • 它可以记录下谁执行了哪些命令,这有助于审计和追踪
  • sudo可以自定义配置为仅允许特定命令以提升权限执行,
    • 减少误操作或恶意行为的风险。

总结

  • 虽然可以sudo su命令 来获取root权限,但是 长期保持 root shell可能会增加误操作的风险。
    • 在完成管理任务之后,最好退出(使用:exit)root shell 返回普通用户权限。
  • 此外,频繁使用root账户也可能暴露系统于不必要的安全风险之下。
    • 因此,仅在必要时使用这些命令,并尽可能利用 sudo 来限制特权提升的范围和时间。

各位再见!这里是 鳄鱼杆,钓……鳄鱼的杆儿!

期待下次再会,愿每一次垂钓之旅都能满载而归。

在这里插入图片描述

相关文章:

  • 前端样式库推广——TailwindCss
  • 清晰易懂的 Kotlin 安装与配置教程
  • 深入理解 Linux ALSA 音频架构:从入门到驱动开发
  • 2025.3.19总结
  • 【Qt】private槽函数可以被其他类中的信号连接
  • DeepSeek扫盲篇: V3 vs R1全面对比架构差异与蒸馏模型演进史
  • SSD目标检测算法的学习与实践
  • Ubuntu 软件仓库配置文件详解及详细注释
  • 7-2-10 简易连连看
  • Neo4j GDS-01-graph-data-science 图数据科学插件库概览
  • Ollama本地大模型-个性化AI:训练自己的风格模型和数据投喂打造专属智能体验
  • hexo+butterfly博客功能完善和美化(二)
  • CSS3 背景
  • Gemini Advanced新功能详解:AI创作与协作的终极解决方案
  • 详解Sympy:符号计算利器
  • 第十三次CCF-CSP认证(含C++源码)
  • Springboot 项目如何输出优雅的日志
  • Godot读取json配置文件
  • SHELL常用字体颜色代码
  • TCP/UDP传输过程
  • 戛纳打破“疑罪从无”惯例,一法国男演员被拒之门外
  • 体坛联播|巴萨提前2轮西甲夺冠,郑钦文不敌高芙止步4强
  • 新华时评:让医德医风建设为健康中国护航
  • 向猫学习禅修之后,你会发现将生活降格为劳作是多么愚蠢
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 青海省交通运输厅副厅长田明有接受审查调查