【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战

简介: 【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战



🪐1 初识Linux OS

Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。

以下是Linux操作系统的一些主要特点和组成部分:

  1. 内核(Kernel): Linux内核是操作系统的核心,它管理系统资源,如处理器、内存、设备驱动程序等。Linus Torvalds最初编写了Linux内核,它是Linux操作系统的基础。
  2. Shell(命令解释器): Linux操作系统使用命令行界面(CLI),用户与系统交互通过Shell。用户可以通过输入命令执行各种任务,管理文件、进程、权限等。常见的Shell包括Bash(Bourne Again SHell)和Zsh。
  3. 文件系统: Linux支持多种文件系统,包括Ext4、XFS、Btrfs等。文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。
  4. 用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。常见的Linux桌面环境有GNOME、KDE、XFCE等,它们提供了直观的用户体验。
  5. 软件包管理系统: 大多数Linux发行版都有自己的软件包管理系统,用于安装、更新和删除软件。常见的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。
  6. 网络功能: Linux具有强大的网络功能,支持各种网络协议和服务。它可以作为服务器运行各种网络服务,如Web服务器(Apache、Nginx)、邮件服务器(Postfix、Sendmail)、文件服务器(Samba)等。
  7. 多用户和多任务: Linux是一个多用户系统,多个用户可以同时访问同一台机器。它也是一个多任务系统,可以同时运行多个进程。
  8. 安全性: Linux以安全性而闻名,系统管理员可以设置用户权限、访问控制列表(ACLs)等来确保系统的安全性。
  9. 开源和自由: Linux是开源软件,其源代码可以被任何人查看、修改和分发。大多数Linux发行版是免费提供的,用户可以自由选择、使用和分发。
  10. 发行版(Distribution): 由于Linux内核是开源的,不同的组织和社区创建了各种Linux发行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每个发行版都有自己的特点和包管理系统。

总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。


🪐2 用户、组、密码及权限管理的解密与实战

🌍1. 实验目的

  • 掌握用户密码管理基本命令。
  • 掌握组合密码管理基本命令。
  • 掌握权限管理基本命令。

🌍2. 实验准备

  • 获取 Li nux 镜像文件:下载适用于虚拟机的 Linux 镜像文件,比如 Ubuntu 21.04,从 Ubuntu 官方网站 获取。
  • 安装虚拟化软件:安装 VMware Workstation 或 Virtualbox,两者提供简便的虚拟机管理和配置。
  • 创建 Linux 虚拟机:打开虚拟化软件,按照指引创建新虚拟机。设置内存为 2GB 或更多,其余选项选 择默认值。加载下载好的 Linux 系统 ISO 镜像文件,启动虚拟机完成 Linux 系统安装。

🌍3. 实验内容

(以下步骤都需要通过命令验证)

其中(1)-(3)总览步骤及验证

验证

(1)-(3)详细记录如下:

(1)创建组shuhan、caowei;

 

输入指令“groupadd shuhan”创建组结果报错为:

“groupadd: Permission denied.

groupadd:无法锁定 /etc/group,请稍后再试。“

解决方案:在“groupadd shuhan”前加入“sudo”,要求输入最高权限用户密码后即可创建成功,这里需要注意每次创建组都需在指令前添加“sudo”,除了第一次需要输入密码外后续操作均不需要,结果如图。

(2)创建用户 zhugeliang、guanyu,设置所属组为shuhan;创建用户 guojia、dianwei,设置所属组为caowei.

第一步:创建用户 zhugeliang、guanyu,设置所属组为shuhan。

第二步:创建用户 guojia、dianwei,设置所属组为caowei.

(3)设置密码

输入“passwd zhugeliang”报错如图所示:

解决:在指令前加入sudo即可。

重复该操作分别给guanyu、guojia以及dianwei分配密码,如图所示:

(4)zhugeliang使用vim创建一个文件“sanguosha.txt”,写入“知天易,逆天难;观今夜天象,知天下大事”,并设置权限:自己可以读写,本组人可读,其他组没有任何权限;

 

报错:"sanguosha.txt"

"sanguosha.txt" E212: 无法打开并写入文件

请按 ENTER 或其它命令继续

解决:由于未进入对应目录,所以zhugeling用户无写入权限,因此需要查看zhugeliang目录然后进入其下属权限域。如图

验证:设置权限:自己可以读写,本组人可读,其他组没有任何权限;

(5)zhugeliang修改“sanguosha.txt”的文件属性,让本组人可以读写,其他组的用户可以读;设置结果与验证结果如图。

(6)guanyu修改“sanguosha.txt”,加入一句话(“关羽在此,尔等受死!”)

首先切换到guanyu用户,使用vim打开并进行修改,最后使用cat进行验证

(7)dianwei投靠shuhan(修改dianwei的组);

问题:无法访问

解决:权限不够,需要使用sudo改变,并且指令改为“usermod -g shuhan dianwei”.

验证结果

(8)测试dianwei是否可以读写“sanguosha.txt”,guojia是否可以读?若不能,为什么?应怎么解决?

答:dianwei可以读写“sanguosha.txt”,guojia也可以读?

(9)dianwei修改“sanguosha.txt”,加入一句话(“吃我一戟!看我三步之内取你小命!”)


🌍4. 实验心得

  1. 基本命令掌握: 通过本次实验,我成功掌握了用户、组合密码管理的基本命令,以及权限管理的基本操作。特别是在使用Chmod命令时,我注意到默认情况下其他组用户权限是只读的,只有在指定权限后才能进行更改。
  2. 权限问题解决: 在实验过程中,我遇到了一些权限相关的问题,例如在创建组时出现了“Permission denied”错误。通过仔细观察并尝试,我发现在执行创建组的命令前添加“sudo”可以解决问题。此外,在更改用户密码和文件权限时,也需要使用sudo来获取足够的权限。
  3. 进入超级用户解决问题: 部分错误源于未使用root用户进行操作,导致权限受限。为解决这些问题,我学会了在需要时使用“sudo su root”命令,以便进入超级用户模式,从而能够更灵活地执行需要高权限的命令。这一步在后续操作中帮助我避免了许多权限相关的困扰。

📝总结

Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。


目录
相关文章
|
4月前
|
存储 Linux API
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
|
3月前
|
存储 Linux iOS开发
【Linux】冯诺依曼体系与操作系统理解
本文深入浅出地讲解了计算机体系的两大核心概念:冯诺依曼体系结构与操作系统。冯诺依曼体系作为现代计算机的基础架构,通过中央处理器、存储器和输入输出设备协同工作,解决了硬件性能瓶颈问题。操作系统则是连接硬件与用户的桥梁,管理软硬件资源,提供运行环境。文章还详细解析了操作系统的分类、意义及管理方式,并重点阐述了系统调用的作用,为学习Linux系统编程打下坚实基础。适合希望深入了解计算机原理和技术内幕的读者。
87 1
|
30天前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
63 18
|
3月前
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
521 76
|
23天前
|
存储 Linux 网络安全
Linux单节点单硬盘部署MinIO:安装部署MinIO对象存储服务实战指南
MinIO 要求用于存储数据的驱动器必须是独立的、非系统分区,以确保数据的安全性和性能。如果数据目录位于系统根分区,MinIO 会拒绝使用它,并报错。因此我们需要一个新的磁盘来作为MinIO的数据目录挂载点。ext4 是 Linux 系统中广泛使用的一种文件系统,它具备高可靠性、高性能以及支持大文件和大分区等优点。这里使用的是CentOS7版本,使用的是默认下载器yum,如果是CentOS8版本,则使用dnf下载器。挂载/mnt/data到新分区,查看挂载情况。获取新分区/dev/sdb1的UUID。
622 57
|
1月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
83 10
|
3月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
169 23
|
4月前
|
NoSQL Unix Linux
Linux 操作系统的诞生与发展历程
步探索与准备: 1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。通过学习,他逐渐不能满足于minix系统的现有性能,并开始酝酿开发一个新的免费操作系统。
146 8
Linux 操作系统的诞生与发展历程
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
158 0
|
Ubuntu Unix Linux
【Linux操作系统】探秘Linux奥秘:Linux 操作系统的解密与实战
【Linux操作系统】探秘Linux奥秘:Linux 操作系统的解密与实战
146 0