




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1Linux概述与安装主讲:***2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)12024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)2本项目学习目标:1.知识目标2.能力目标掌握Linux操作系统的基本概念;掌握Linux操作系统的发行版本;掌握CentOS的安装及相关配置;了解Linux操作系统的应用领域。能解释Linux操作系统基本概念,了解Linux的发展趋势;能根据企业或个人应用需求,选取合适的Linux发行版本;能熟练掌握CentOS的安装及基本配置;能熟练使用百度、Google等搜索引擎对Linux基本知识的查询。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)3学习任务任务1.1什么是Linux任务1.2Linux的体系结构及特点任务1.3Linux的发行版本任务1.4CentOS的安装2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)4任务1.1什么是LinuxLinux是一套免费、开源且符合可移植操作系统接口标准(PortableOperatingSystemInterface,POSIX)的类UNIX开源操作系统。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)51.1.1什么是LinuxLinux是类似于Windows、MacOS的完整的操作系统。但实际上,Linux仅指基于GNU通用公共许可协议(GeneralPublicLicense,GPL)的标准操作系统内核(Kernel)。“GNU”是“GNU'sNotUNIX”的缩写,GNU的开发始于1984年,当时的目的是开发一个自由开放的、功能类似UNIX的操作系统。操作系统往往是由多个应用程序、系统库、开发工具构成的程序集合。在类UNIX操作系统中,用于资源分配和硬件管理的程序称为“内核”,GNU用的内核就是Linux,因此从严格意义上说,Linux的全称应该为GNU/Linux。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)6Linux内核采用开源的方式发布,因此有业务需求的公司、机构或者感兴趣的个人都可以自行对其进行增删、优化,然后将其与其他应用程序一并打包,形成独立的发行版本。因此,自Linux内核出现以来,形成了众多具有各具特色的Linux发行版本,如RedHatLinux、Debian、ArchLinux、GentooLinux等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)71.1.2Linux的诞生20世纪70年代,UNIX的源程序在高校、科研院所中被广泛传播。1979年,AT&T公司宣布了UNIX的商业化计划,这种做法一方面催生出了大批的商业软件,极大推动了软件行业的发展,另一方面也因为商业模式下封闭的开发模式,阻碍了相关技术的进步。1984年,RichardStallman面对程序开发的封闭模式,发起了国际性源代码开放(OpenSource)的GNU计划。3年后,RichardStallman完成了11万行源代码开放的编译器(GNUCompilerCollection,GCC),取得了重大突破。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)81991年,芬兰赫尔辛基大学的LinusTorvalds发布了一个小的内核程序,该内核程序可以在Intel386机器上运行,这个内核程序名为Linux,它被放在了Internet上。Linux的出现受到GNU计划追随者们的极大喜爱,他们将Linux不断完善,使其成了一个功能完备的操作系统。1993年,Linux1.0版本正式发布。1995年,BobYoung创办了RedHat(红帽)公司,该公司以Linux为核心,集成了几百个开源软件,形成了一个新的Linux发行版本,即RedHatLinux。随后,在众多Linux发行版本中,RedHatLinux是著名的发行版本之一。随后,Linux进入了蓬勃发展的阶段。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)9任务1.2Linux的体系结构及特点从资源管理的角度看,各类操作系统,包括UNIX、MacOS、Windows及Linux等,其主要功能都是对计算机中的软件和硬件资源进行有效的管理,通常包括以下5个部分:(1)处理器管理。处理器是计算机系统中最主要的资源,操作系统提供的处理器管理功能,主要实现对处理器资源的分配调度,以最大限度地提高处理器的利用率。(2)存储管理。存储管理通常是指操作系统对主存储器(简称主存)的管理,包括主存分配、回收和访问控制保护,以及使用相应技术手段扩充主存的空间容量等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)10(3)设备管理。设备管理是指操作系统对计算机中的各类外部设备的管理,包括设备识别、驱动加载、设备分配、回收及故障处理等。(4)文件管理。计算机系统中的各类信息通常是以文件的形式存储的。文件管理是指操作系统对存储在外部存储器上的各类文件目录的管理,文件管理功能主要用于文件的存取、搜索、修改、删除和共享等。(5)接口管理。为使用户能够方便地使用计算机系统中的各种功能,操作系统为用户提供了许多接口,这些接口主要分为程序接口和命令接口,普通用户或开发人员可以通过这些接口有效地拓展计算机系统的功能。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)11从组织形式上看,Linux主要由以下4个部分组成:内核、Shell、文件系统和应用程序。其中,内核、Shell和文件系统一起组成了Linux基本的主体结构,为各类用户运行应用程序、管理操作系统提供了基础。1.2.1Linux的体系结构2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)121.内核内核是操作系统的核心,具有很多基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,它决定系统的性能和稳定性。在Linux中,内核主要由以下几个模块组成。2.ShellShell是Linux的一种命令行界面,提供了用户与操作系统交互的接口。它接收用户输入的命令并把它送入内核执行。同时,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序一样。目前,Linux的各种发行版本提供了各种Shell。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)133.文件系统文件系统决定了文件在磁盘等存储设备上的组织方法。Linux支持多种流行的文件系统,如ext系列、FAT系列和ISO9660等。4.应用程序自Linux出现以来,许多软件开发人员为其提供了大量的优秀应用程序。在各类Linux发行版本中,通常包含一套称为应用程序的程序集,包括文本编辑器、编程语言、编译程序、办公套件、Internet工具和数据库等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)141.2.2Linux的特点Linux能够迅猛发展并得到广大用户的喜爱,与其具有的良好特性是分不开的,Linux具有以下特点。开放性;多用户、多任务;良好的用户界面;丰富的网络功能;安全性高;设备独立性;可以执行。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)15任务1.3Linux的发行版本Linux被称为领先的服务器操作系统之一,其应用广泛,全球有数百个Linux的发行版本,每个版本都有自己的特性和目标人群。Linux的发行版本大体可分为两类,一类是由商业公司维护的发行版本,另一类是由社区组织维护的发行版本,前者以著名的RedHatLinux为代表,后者以Debian为代表。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)161.RHEL与Fedora早期,RedHat公司发布的RedHatLinux分为企业版和个人版,分别针对商业应用领域用户和个人用户。2003年9月,RedHat公司发布RedHatLinux9版本后,便停止相应产品的开发,转而发布企业版本——RedHatEnterpriseLinux(RHEL)。RHEL是最受欢迎的Linux服务器操作系统之一,几乎所有的Linux组件和软件都可以轻松地在RHEL上使用,RHEL中的软件经过全面测试,性能稳定,提供付费的商业服务和大型网络信息集中管理的工具。Fedora在早期是由社区支持的一个发行版本,在RedHatLinux终止发行后,RedHat公司计划以Fedora来取代RedHatLinux在个人领域的应用。对用户而言,Fedora是一个功能完备、更新快速的免费操作系统,而对RedHat公司而言,它是许多新技术的测试平台,在该系统上被认为可用的技术最终大多会被加到RHEL中。1.3.1RedHat系发行版本2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)172.CentOSCentOS(CommunityEnterpriseOperatingSystem,社区企业级操作系统,如图1-3-1所示)是基于RHEL的发行版本。依照开源的规定,RedHat对RHEL发布的源代码进行二次编译,形成了新的发行版本。在更新方面,CentOS稍微迟于RHEL。由于出自同样的源代码,采用CentOS可以建立一个安全、低维护成本、稳定、高预测性、高重复性的Linux环境。因此,有些要求高度稳定性的服务器用CentOS替代了商业版的RHEL。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)181.DebianDebian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统,它提供了先进的apt软件包管理器、各种API工具等。Debian最早由IanMurdock于1993年创建,它分为3个版本:stable、testing和unstable。其中,unstable为测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户及新功能的开发人员使用。testing是经过unstable版本测试的版本,相对较为稳定,会适时加入一些新技术。而stable版本一般只用于服务器,软件包的版本相对较低,更侧重稳定性和安全性。1.3.2Debian系发行版本2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)192.UbuntuUbuntu是基于Debian的一个发行版本,作为Linux发行版本中的后起之秀,Ubuntu在短短几年的时间里迅速发展,应用也非常广泛。由于简单易用且软件支持丰富,Ubuntu成为从Linux初学者到资深专家都十分青睐的发行版本。Ubuntu每6个月发布一个新的版本,包含个人桌面版和企业服务器版,每个版本通常支持18个月的更新。针对企业及需要长期使用的用户,Ubuntu发布了长期支持版本(LongTermSupport,LTS),LTS每两年发布一个新的版本,最近的两个LTS版本为20.04和18.04,分别在2020年4月和2018年4月发布。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)20Ubuntu经过多年的发展,也派生出了各具特色的版本。其中UbuntuStudio相对于普通的Ubuntu而言,更适合多媒体设计人员使用,它采用Xfce界面,内置了多种普通Ubuntu本身没有内置的图片、音乐与影片编辑工具。从2013年起,我国开始积极推广开源软件,加速开源生态的发展,工业和信息化部与Ubuntu系统开发商Canonical合作,共同开发、合力打造出了专为中国市场而设计的优麒麟(UbuntuKylin)。优麒麟针对中国市场加入了大量本地优化功能,如中文输入法、农历日历等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)213.KaliLinuxKaliLinux的前身是著名渗透测试系统BackTrack。KaliLinux也是基于Debian的发行版本,它集成了精心挑选的渗透测试和安全审计工具,供渗透测试和安全审计人员使用。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)221.3.3其他系列发行版本1.ArchLinuxArchLinux是一款基于x86-64架构的Linux发行版本,其系统设计以简化设计、简化操作为总体指导原则,注重代码的正确、优雅和极简主义,期待用户能够愿意去理解系统的操作,系统安装映像只简单地包含系统的主要组件。ArchLinux安装、删除和更新软件的软件包管理器为pacman。用户可以通过pacman实现以滚动的方式来获取系统更新和软件的最新版本。ArchLinux是针对特定处理器优化过的,能够更好地利用CPU周期,以提高性能。相比Debian、Fedora等发行版本,ArchLinux属于轻量级操作系统,其简单的设计让它容易被轻松地扩展和配置成用户想要的系统。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)232.GentooLinuxGentooLinux最初由DanielRobbins开发,其首个稳定版本发布于2002年。GentooLinux拥有媲美FreeBSD的广受美誉的ports系统——Portage包管理系统。不同于apt和yum等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须在编译后运行,对于大型软件而言速度比较慢,不过正因为所有软件都是在本地编译的,这些软件在经过各种定制的编译参数优化后,能将计算机的硬件性能发挥到极致。GentooLinux安装非常复杂,但其也是安装后最便于管理的系统,运行速度很快。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)243.openSUSEopenSUSE是在欧洲非常流行的一个Linux发行版本,由Novell公司发布,号称世界上最华丽的操作系统,其独家开发的软件管理程序yast得到了许多用户的赞美,支持KDE、GNOME、Xfce等桌面,桌面特效比较丰富。openSuse主要分为两个版本:Leap和Tumbleweed。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)254.FreeBSDFreeBSD并不是一个Linux系统,但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也很类似,所以本书将FreeBSD视为一个Linux发行版本来进行比较。FreeBSD可分为两个版本:stable和current。FreeBSDstable是稳定版,而FreeBSDcurrent则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与GentooLinux类似,基于源代码分发,必须在本地编译后运行,但是Ports系统没有Portage系统使用简便。FreeBSD的最大特点是稳定和高效,其是服务器操作系统的一个很好的选择,但其对硬件的支持没有Linux完备,所以并不适合作为桌面系统。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)26如果你是从零开始学习Linux的,并计划将Linux作为一个长期使用的平台,那么可以选择Ubuntu或Fedora这两个发行版本,它们会提供较新的功能,同时能提供更新版本的软件;如果你想使用Linux构建一个开发平台,那么可以选择CentOS或Ubuntu的LTS版本,它们提供了较长时间的更新服务支持,减少大的版本迭代导致的平台迁移成本的增加;如果你计划从事计算机安全方面的工作,那么可以选择KaliLinux,它集成了许多安全方面的工具,易于开展业务;如果你想更深入地了解Linux的编译过程,那么可以选择GentooLinux,它能够让你在使用过程中学习更多的编译方面的知识。作为初学者,应如何选择合适的Linux发行版本呢?2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)27目前,多数企业都采用节约成本的方式构建IT业务架构,以订阅版的RHEL作为业务前端,对外提供业务,如果出现业务故障时,可以获得更快的订阅的响应服务,及时排除业务故障,IT业务架构的后端往往采用免费的并且与RHEL更接近的CentOSLinux系统,既避免了系统的差异性,也节约了IT系统的建设成本。因此,如果你希望更接近企业的实际业务平台,那么可以选择CentOS,它能使你在企业业务方面更快上手。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)28任务1.4CentOS安装由于Windows的易用性及普及性,多数人仍采用Windows作为日常生活和工作的操作系统,初学者难以完全抛弃Windows。因此,本书采用虚拟机的方式进行CentOS8.2安装过程的介绍。1.4.1安装前准备2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)291.4.1安装前准备1.下载并安装VMwareWorkStation软件注意调整本地计算机中的BIOS设置,启用CPU虚拟化功能。2.获取安装源从或其他镜像站点下载ISO文件,“CentOS-8.2.2004-x86_64-dvd1.iso”。3.创建虚拟机如果需要在安装后启用图形界面,建议在新建的虚拟机中设置CPU为两个2核心,内存为2G以上,后续安装其他软件等硬盘存储空间的需求,建议虚拟机硬盘设置为40G以上。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)301.4.2安装1.开启虚拟机2.开启安装进程3.安装配置(1)本地化设置,包括键盘布局、语言支持和时间日期设定;(2)软件设置,包括安装源、软件选择设定;(3)系统设置,包括安装目的地、KDUMP、网络和主机名、安全策略设定。4.开始安装用户密码设置2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)311.4.3初次启动1.初次启动Linux2.同意许可协议3.登录界面2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)32结束!项目2Linux基本操作与命令行基础主讲:***2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)332024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)34本项目学习目标:1.知识目标2.能力目标掌握Linux图形化界面相关概念;掌握Linux命令行的基本语法格式;了解KDE、xfce等其他图形化界面的基本概念。能解释GUI、CLI等基本概念,了解命令行及图形化界面的各自优缺点;能根熟练掌握GNOME桌面环境的日程使用;能熟练命令行工具(GNOME终端)的使用;能熟掌握Linux中命令的使用方法。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)35学习任务任务2.1GNOME桌面环境的基本操作任务2.2命令行入门2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)36任务2.1GNOME桌面环境的基本操作1.XWindowXWindow是一种以位图方式进行显示的软件窗口系统,最初是麻省理工学院的研究成果,之后变成了UNIX、类UNIX及OpenVMS等操作系统都适用的标准化软件工具包及显示架构的运作协议。XWindow通过软件工具及架构协议来建立操作系统所用的图形界面,此后则逐渐扩展到其他操作系统上,几乎所有的操作系统都支持XWindow,GNOME和KDE也是以XWindow为基础的。2.1.1Linux桌面环境概述2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)372.GNOMEGNOME是一个完全由自由软件组成的桌面环境,其目标操作系统是Linux,但是大部分的BSD系统也支持GNOME桌面环境。GNOME项目最初是由墨西哥的程序设计师MiguelDeIcazq发起的,受到了RedHat公司的大力支持,它现在属于GNU计划的一部分,主要目的是为用户提供一个完整、易学易用的桌面环境,并为程序开发人员提供强大的应用程序开发环境。GNOME可以让使用者轻松地操作和设置环境,包含Panel(用来启动程序和显示当前状态)、桌面(应用程序和资料的放置位置)及标准桌面工具和应用程序。用户无论之前使用何种操作系统,都能容易地上手使用GNOME功能强大的图形接口工具。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)383.KDEK桌面环境(KDesktopEnvironment,KDE)是一种著名的运行于Linux、UNIX及FreeBSD等操作系统上的自由图形桌面环境,是一种网络透明的现代化桌面环境,整个系统采用的都是TrollTech公司开发的Qt程序库。KDE是Linux上流行的桌面环境之一。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)394.XfceXfce是一个有很长历史的的桌面环境,在很多Linux中可以见到它的身影。关于Xfce的设计目的,它的创始人OlivierFourdan描述为:“快速加载并用来执行程序,且占用系统资源少”。Xfce遵循UNIX的模块化和复用性传统,包含大量组件,具有现代桌面环境所应具有的完整功能。用户可以挑选可用的软件包自由组建为各具特色的个人工作环境。Xfce适合作为多种类UNIX系统的轻量级桌面环境,它在节省系统资源的同时,能够提高运行效率,快速加载和执行应用程序。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)402.1.2GNOME桌面环境登录1.登录界面正常启动GNOME桌面环境后,可以看到登录界面。在登录界面的中间可以看到Linux系统中已经添加的用户列表。在界面的上方,可以查看系统当前的时间及其他操作按钮。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)412.时间及通知信息在登录界面的上方,单击时间标签,可以显示系统当前的时间及系统通知信息。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)423.辅助功能在登录界面的上方,单击按钮,可以打开GNOME辅助功能,根据需要选择辅助选项,如高对比度、缩放、大号文本等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)434.其他操作在登录界面的上方,单击最右侧的按钮,在打开的窗格中,可调整系统的音量,查看有线连接状态或执行关机操作,如图2-1-4所示。如果需要关机,则单击按钮,然后单击【关机】按钮,如图2-1-5所示。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)445.登录选择登录用户,登录系统,用户在初次登录系统时,默认都会进入欢迎程序,进行语言、输入法及隐私等的设置。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)452.1.3Nautilus文件管理器1.启动Nautilus文件管理器有两种方式可以用来启动Nautilus文件管理器,当左侧的快速启动栏中有相应的图标时,则可以直接单击图标启动;如果没有相应图标,则可以在图所示的界面中的搜索Nautilus文件管理器,即搜索【文件】程序,再单击启动即可。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)462.Nautilus文件管理器窗口启动后,Nautilus文件管理器如图所示,默认打开的是当前用户的主目录,窗口左侧为常用的位置信息,窗口右侧显示指定目录下的内容。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)473.常用操作Nautilus文件管理器提供了一个集成的访问点,利用该点可以很方便地访问外部的文件及应用程序、FTP站点和URL等资源单击左侧的【其他位置】选项,根据相应的提示,可以添加指定的资源。在右下角的框中,单击【?】图标,可以查看Nautilus文件管理器支持网络访问的常用协议信息,如Samba、SFTP、FTP等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)482.1.4其他应用程序在GNOME桌面环境中,默认会为用户安装常用的一些软件(如Firefox浏览器、gedit文本编辑器、软件管理程序等),提供许多其他功能。1.Firefox浏览器;2.gedit文本编辑器;3.软件管理程序2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)492.1.5系统设置针对CentOS操作系统的各类设置功能,GNOME桌面环境也提供了一个集中式的管理中心,类似Windows系统中的“控制面板”。在CentOS的“设置”程序中,可以完成较多系统参数的调整,例如:主题及壁纸、通知管理、搜索、区域和语言设置、辅助功能、在线账号、隐私设置、共享、声音、网络、电源等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)50任务2.2命令行入门CentOS系统提供了丰富的应用软件,图形界面下的各类工具能够满足日常工作需求。而在服务器配置方面,基于CLI(命令行界面)的配置效率更高,也更加方便。例如,在远程管理中,如果使用图形界面对服务器进行配置,则需要更大的网络带宽用于传输图形操作界面,CLI的远程管理相对更加简洁。在CLI中,通常是基于文本界面进行操作的,用户通过CLI向计算机系统输入各种操作指令。通常,Linux的命令行是由名为Shell的程序提供的,在RedHatEnterpriseLinux及CentOS等操作系统中,默认使用的Shell为GNUBourne-AgainShell(Bash)。简单来说,Shell是操作系统的最外层,可以合并编程语言以控制进程和文件,以及启动和控制其他程序,让用户与操作系统之间存在一个交互的通道,用于提供交互式的命令解释器。2.2.1Bash概述2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)512.2.2虚拟控制台早期,计算机中的资源非常昂贵,为了能够充分使用计算机提供的计算资源,很多计算机会连接若干终端控制台,这些终端控制台的硬件构造很简单,只包括键盘和显示器,不执行计算任务,只简单地把用户的输入发送给主计算机去处理,然后再把计算结果返回给用户。从软件使用上看,其只提供给用户一个使用命令行的字符界面,用于接收用户输入和反馈计算结果。对计算机而言,一个终端就是一个用户。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)52随着科技的发展及计算机制造技术的进步,计算机的性能有了巨大的提升,同时计算机软硬件的价格已经降低很多,多数人都可以接受。通过支持多任务的操作系统,用户在计算机中开发了类似终端控制台的命令行字符界面,如Windows中的命令行,Linux、UNIX和MacOS中的字符终端程序,这些都称为虚拟控制台(VirtualConsole)。虚拟控制台可以很方便地实现切换,当某个控制台因程序锁定或程序崩溃被锁定时,可以自动切换到其他虚拟控制台执行任务。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)53通常情况下,Linux一般会提供6个命令行的虚拟控制台,如果已经启动了图形界面,则可以按【Ctrl+Alt+Fn】键(其中Fn表示键盘中的功能键,包含F1~F6,可以使用不同的组合键切换进入6个虚拟控制台)进入虚拟控制台。进入新的虚拟控制台时,LinuxCentOS会显示登录提示符,要求输入用户名和密码,该功能也支持使用不同的用户同时登录系统。在已经安装图形界面的早期CentOS版本中,如果需要返回图形界面,则按【Ctrl+Alt+F7】键。如果在VMware或者VirtualBox等工具中使用虚拟机时,需要注意调整【Ctrl+Alt】组合键的使用,确认组合键是否已经被这些其他软件当做热键占用。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)54在CentOS8系列的Linux操作系统中,对虚拟控制台做了适当的调整,在安装了图形界面的CentOS8中,【Ctrl+Alt+F1】和【Ctrl+Alt+F2】表示图形界面(两个不同的用户登录图形界面),系统默认使用【Ctrl+Alt+F2】的界面作为初始化登录图形界面的终端,【Ctrl+Alt+F3】至【Ctrl+Alt+F6】分别提供了命令行界面。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)552.2.3命令行基本语法1.Shell命令的基本语法格式Shell程序或命令,通常是以脚本的形式进行解析的,在CentOS中,默认由BASH对用户输入的命令进行解析。Shell命令的格式如下:command[options][argument1][argument2]……其由以下3个基本部分组成。(1)command:命令,表示要运行的命令。(2)options:选项,用于调整命令行为/功能。(3)arguments:参数,通常作为命令的目标参数。选项和参数不是必需的,如果用户希望在一行中输入多条命令,那么可以使用英文半角分号(;)将命令隔开。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)56基本上所有的命令都有--help的选项,该选项的作用是输出该命令的简要介绍及该命令的语法和常用的选项、参数等。在命令的说明中会有以下几种符号:(1)[]符号,用[]符号括起来的是可选项目,有可能是选项,也有可能是参数。(2)...符号,...符号前面的任何内容均表示该类型项目的任意长度列表,也就是可以使用多个参数。(3)|符号,用|符号隔开的多个项目表示在多个选项或参数中只能选择其中一个。(4)<>符号,用<>符号括起来的项目一般是变量,即可以根据实际的情况进行调整。例如:<HOSTNAME>表示在指定的位置可以输入需要的主机名。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)572.获取帮助信息Linux为用户提供了数量庞大的程序和命令。通常,各程序和命令都提供了包含数字、大小写字母等类型在内的许多选项,用户可以通过不同的选项或选项组合对程序和命令进行控制,实现多种功能。由于不同用户的应用场景和使用习惯有所差异,因此往往会出现某些使用频率较低命令,或者某些高频使用的命令中的某些不怎么使用的选项。因此,希望用户完全掌握所有命令或某个命令的所有选项是一件极为困难的事情。1)阅读manpage2)阅读info文档2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)582.2.4GNOME终端GNOME终端(GNOMETerminal)是GNOME桌面环境的一部分,是默认安装的,可提供一个命令行界面,它支持彩色的文本、多样化的主题、透明、鼠标交互、多标签等功能。同时GNOME终端支持还多用户及多配置文件方式,针对不同的用户或不同的运行环境,可以设置不同的字体、颜色等。GNOME终端提供了一些快捷键用于提高工作效率,如快速打开一个新的终端(Ctrl+Shift+N),快速打开一个新的标签页(Ctrl+Shift+T),快速实现重复输入上一个命令的最后一个参数(Alt+.)。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)592.2.5自动补齐在GNOME终端中,可以使用【Tab】键,在Shell中进行命令或参数的补齐,支持用户在命令提示符中输入了足够的唯一内容后自动快速补全文件名或命令名。如果输入的内容不是唯一,则按【Tab】键两次可显示以输入内容开头的所有的文件名或命令名。在执行ls命令时,如果后续参数只输入“/etc/sys”,那么连续按两次【Tab】键,会自动输出当前系统可匹配的选项。如果后续参数输入“/etc/sysco”,只需要按一次【Tab】键,则会自动补齐至“/etc/sysconfig”。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)602.2.6命令历史1.历史命令显示在Shell中,如果需要使用以往的命令,则可以使用history命令,查看当前Shell执行的历史命令记录,对应的每条命令都带有记录编号作为前缀。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)61针对历史命令,Shell提供了一系列便捷的功能,如通过“!number”的方式进行快速引用并执行历史命令,其中,“number”为history命令查到的记录编号。采用类似的方法,通过“!string”的方式可以快速定位至最近一个以指定字符串开头的命令。通过分别按【Esc】键和【.】键,可以复制前一个命令的参数,多次执行可以复制更早的命令的参数。CentOS默认记录1000条历史记录,如果用户担心系统记录了过多的历史命令,可能导致信息泄露等问题,那么可以使用合适的文本编辑器,修改/etc/profile下的“HISTSIZE”选项的值,对系统记录的历史命令条数进行适当调整。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)622.历史命令编辑在进行Shell的交互使用时,BASH也提供了命令行编辑的快捷键。快捷键描述Ctrl+a跳转到命令的开头Ctrl+e跳转到命令的末尾Ctrl+u将光标处开始至命令行开头的内容清除Ctrl+k将光标处开始至命令行末尾的内容清除Ctrl+左方向键跳转到命令中的前一个字(word)的开头Ctrl+右方向键跳转到命令中的下一个字(word)的末尾Ctrl+r在历史记录列表中搜索某一模式的命令2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)63结束!
项目3
Linux文件与磁盘
管理
主讲:***2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)642024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)65本项目学习目标:1.知识目标2.能力目标掌握文件系统的基本概念;掌握目录结构及主要目录的用途;掌握文件有哪些类型;掌握文件和目录的管理命令;掌握磁盘的管理命令。能使用命令查看目录和路径;能使用绝对路径和相对路径查看文件;能使用文件和目录的管理命令进行创建、删除、拷贝和移动等;能使用fdisk、parted、mkfs等磁盘管理相关命令对磁盘进行分区与格式化。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)66学习任务任务3.1文件系统任务3.2常用的文件管理命令任务3.3磁盘管理2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)67任务3.1文件系统文件系统是操作系统用来存储和管理文件的系统。从系统的角度来看,文件系统能对文件存储空间进行组织和分配,并对文件的存储进行保护和检查。从用户的角度来看,文件系统可以帮助用户建立文件,并对文件的读、写和删除操作进行保护和控制。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)683.1.1文件系统简介Linux中通过分配文件块的方式把的文件存储在存储设备中,而分配信息本身也存在于磁盘中,不同的文件系统有不同的方法分配和读取文件块。不同的操作系统使用不同类型的文件系统,为了与其他操作系统兼容,相互交换数据,通常每个操作系统都支持多种类型的文件系统,如Windows的FAT、NTFS文件系统。Linux保存数据的磁盘分区通常采用ext3、ext4、xfs等文件系统,实现虚拟存储swap分区采用swap文件系统等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)693.1.2目录结构几乎所有的计算机系统都是以目录结构组织文件的,在Windows系统中,建立的文件都是放在某个文件夹中,而在Linux系统中,除根目录(root)以外,所有的文件(包括子目录)都存放在相应的目录中。从根目录开始,Linux逐级地构造目录,形成一种倒置的树状结构,称为“目录树”。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)703.1.2目录结构1.根目录Linux系统的根目录是所有目录的起点,操作系统本身的驻留程序存放在以根目录开始的专用目录中,使用cd/命令可以将当前的目录切换到根目录,在根目录下通常有以下目录:bin、dev、home、mnt、proc、run、srv、tmp、var、boot、etc、lib、media、opt、root、sbin、sys、usr等。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)713.1.2目录结构2.用户主目录用户的主目录是系统管理员增加用户时建立的,每个用户都有自己的主目录。不同用户的主目录一般不同。用户刚登录系统时,其工作目录便是主目录,主目录名通常与用户的登录名相同。用户可以通过“~”符号来引用自己的主目录。通常用户的主目录位于“/home”下,但是root用户比较特殊,其主目录为“/root”。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)723.1.2目录结构3.工作目录用户登录Linux后,每时每刻都会处在某个目录当中,这个目录就称为当前目录或工作目录。工作目录可以随时改变,可以用“.”表示,其父目录用“..”表示,对于根目录而言,由于不存在父目录,所以“.”和“..”代表的都是其自身。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)733.1.2目录结构4.工作路径使用Linux命令对某个文件或目录进行操作时,一般要指明文件或目录所在的路径,否则会默认对当前目录中的同名文件或目录进行操作。Linux中的路径可以分为绝对路径和相对路径。绝对路径是指从根目录“/”开始,到指定的文件的路径,并由用“/”隔开的目录名组成的。相对路径是指从当前用户的工作目录开始,到指定文件的路径,当前的目录名一般不包含在路径中。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)743.1.3文件名和类型1.文件名Linux系统中,任何文件都没有扩展名,不仅信息数据的组合是文件,而且所有的设备也是文件,甚至数据通信的接口也被视为文件,文件名是文件的唯一标识符。Linux中的文件名遵循以下约定。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)753.1.3文件名和类型2.文件类型Linux文件种类有很多,且文件名称和类型没有任何关系,Linux中的文件主要可分为普通文件、目录文件、设备文件、链接文件和管道文件6种。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)76任务3.2常用的文件管理命令3.2.1文件查看1.cat命令cat命令主要用于显示文件内容,读取文件内容后将其在终端窗口中显示出来,其语法如下:cat[选项]文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)773.2.1文件查看2.more命令使用more命令可以实现一次只显示一页文本,并在终端底部打印出“—more—”,系统还将同时显示出显示的文本占全部文本的百分比。若要继续显示,则需按【Enter】键或空格键,more命令的语法如下:more[选项]文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)783.2.1文件查看3.less命令less命令与more命令的功能基本相似,但是功能比more命令强大,在显示文件时,less命令允许用户可以向前或向后翻页来阅读文件,其语法如下:less[选项]文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)793.2.1文件查看4.head命令head命令用于查看文件的部分内容。当用户只需要查看文件的前几行内容,而无须查看全部内容时,可以使用head命令,其语法如下:head[选项]文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)803.2.1文件查看5.tail命令tail命令和head命令类似,用于显示文件末尾若干行的内容,其语法如下:tail[选项]文件2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)813.2.2文件的常用操作1.touch命令touch命令用于创建文件或更新已有文件或目录的修改时间,其语法如下:touch[选项]文件或目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)823.2.2文件的常用操作2.rm命令rm命令用于删除文件或目录,可以删除一个目录中的一个或多个文件/子目录,也可以删除某个目录下所有的文件/子目录。对于链接文件,rm命令只删除链接,源文件保持不变。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)833.2.2文件的常用操作3.ln命令为了方便用户使用和系统调用,有时需要将内容相同的文件或目录放在不同的地方,我们可以通过cp命令来实现,但是这必然会导致重复占用磁盘空间,且修改内容后,其他的文件不会自动同步内容,进而导致文件不一致。我们可以通过ln命令建立链接文件来解决这个问题。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)843.2.2文件的常用操作4.cp命令cp命令作用是复制文件或目录到目标文件或目录中,其语法如下:cp[选项]源文件或目录目标文件或目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)853.2.2文件的常用操作5.mv命令mv是move的简写,该命令用于实现文件或目录的移动和重命名,其语法如下:mv[选项]源文件或目录目标文件或目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)863.2.3目录管理1.pwd命令pwd是printworkingdirectory的简写,当不知道自己目前的工作路径的时候,可以使用pwd命令来查看。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)873.2.3目录管理2.cd命令cd是changedirectory的缩写,cd命令的作用是改变工作目录。用户在登录系统后会处于用户的主目录中,若想切换到其他的目录中,则可以使用cd命令。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)883.2.3目录管理3.ls命令ls是list的缩写,ls命令的作用是列出指定目录中文件或子目录的相关属性信息。这是用户常用的命令之一,对于目录,该命令将列出其所有子目录与文件。对于文件,该命令将输出文件的文件名及要求的其他信息。当不指定文件或目录时,将显示当前工作目录中的文件和子目录信息。其语法如下:ls[选项][目录|文件]2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)893.2.3目录管理4.mkdir命令mkdir命令用于创建目录,语法如下:mkdir[选项]目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)903.2.3目录管理5.rmdir命令rmdir命令用于删除一个空目录,其语法如下:rmdir[选项]目录名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)913.2.4文件查找1.find命令find命令用于从指定目录开始,递归地查找其各子目录,查找满足要求的文件,其语法如下:find[路径][条件][文件]2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)923.2.4文件查找2.locate命令locate命令用于查找文件,其速度要比find命令快得多,其语法如下:locate[选项]文件名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)933.2.5文件压缩和归档1.gzip/gunzip命令gzip/gunzip命令的功能是压缩或解压缩文件,其语法如下:gzip[选项]文件或目录名gunzip[选项]文件或目录名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)943.2.5文件压缩和归档2.tar命令tar命令可以将多个文件打包成一个归档文件,整合包还可以使用gzip命令进行压缩,其语法如下:tar[选项][打包后文件名]文件目录2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)95任务3.3磁盘管理当前,随着科技的进步,各种存储器的容量越来越大,系统管理员管理磁盘的难度也越来越高。磁盘是存储数据的重要载体,良好的磁盘管理可以提升系统的运行效率、节省存储空间和节约成本。磁盘管理通常包括磁盘的分区管理、文件系统管理以及挂载或卸载指定分区,分区管理还包括了分区的创建、删除和swap分区的管理等内容。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)963.3.1磁盘分区与创建文件系统1.fdisk磁盘分区fdisk是一种强大的磁盘分区工具,不仅适用于Linux,在Windows系统中也被广泛使用,fdisk命令的语法格式如下:fdisk[必要参数][选择参数]2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)973.3.1磁盘分区与创建文件系统2.parted命令分区虽然我们可以使用fdisk命令对磁盘进行快速分区,但对大小大于2TB的磁盘,此命令无能为力,此时就需要使用parted命令。parted是一个比fdisk更高级的工具,它支持多种分区表格式。其语法如下:parted[选项][设备][命令]2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)983.3.1磁盘分区与创建文件系统3.创建文件系统磁盘格式化磁盘分区完成后,需要对磁盘创建文件系统进行格式化,对磁盘进行格式化创建文件系统的时候需要确认分区上的数据是否可用,格式化创建后会删除分区内原有的数据,且数据不可恢复。磁盘格式化mkfs命令的语法如下:mkfs[选项]分区设备名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)993.3.2交换分区在Linux系统中内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是CacheMemory(缓存内存),即使程序运行结束后,CacheMemory也不会自动释放。这就会导致Linux系统中程序频繁读写文件后,物理内存会变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。swap交换分区的作用类似于Windows中的虚拟内存,可以把内存中不常用到的数据暂时放到磁盘的swap交换分区中,从而解决内存容量不足的情况,在生产环境中交换分区的大小一般取决于计算机物理内存的大小,通常物理内存小于4GB,建议为物理内存的2倍;物理内存大于4GB小于16GB,通常设置为物理内存大小;大于16GB设置为物理内存的一半。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1003.3.3挂载与卸载1.mount命令创建了文件系统的分区后,在Linux下,其还需要经过挂载才能使用,挂载时需要确定挂载的设备和挂载的目录,挂载的命令为mount,语法格式如下:mount[选项]设备名挂载点2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1013.3.3挂载与卸载2.umount命令要卸载所挂载的设备可以使用umount命令,其语法格式如下:umount挂载点或设备名2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)102习题一、简答题1.什么是文件系统?2.文件系统的类型有哪几种?3.根目录下通常包含哪些目录?二、操作题1.文件和目录管理。(1)在/tmp路径下创建text1、text2两个文件。(2)在/home路径下创建目录zhangsan,将text1复制到该目录下。(3)在/bin路径下创建目录hello,将text2文件移动到该目录下并修改文件名为text3(4)删除/tmp路径下的text1文件。2.磁盘管理。(1)为CentOS系统添加一块10GB的磁盘。(2)使用fdisk或parted命令对磁盘进行分区,分为3个主分区和1个扩展分区。(3)使用ext4对一个主分区创建文件系统。(4)创建“/mnt/disk2”目录,并将分区挂载到该目录下。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)103结束!项目4Linux用户与权限管理主讲:***2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1042024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)105本项目学习目标:1.知识目标2.能力目标掌握Linux用户和组的基本概念及相关文件;掌握Linux用户和组的管理;掌握Linux用户基本权限的分类及管理;理解Linux文件的特殊权限和隐藏属性。能熟练使用命令行管理Linux用户和组;能熟练使用命令行修改和控制Linux文件的基本权限;能使用命令行修改和控制Linux文件的特殊权限;能使用命令行修改和控制Linux文件的隐藏属性。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)106学习任务任务4.1用户和组的基本概念任务4.2用户和组管理任务4.3权限管理2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)107任务4.1用户和组的基本概念在Linux操作系统中,任何文件都属于某一特定的用户,而任何用户都属于至少一个用户组。用户是否有权限对某文件进行访问、读写或执行受到系统的严格约束。这种清晰、严谨的用户与用户组管理系统在很大程度上保证了Linux系统的安全。用户是系统安全的基础。系统中的每个进程都由一个特定的用户来执行,每个文件都由一个特定用户所有。文件所有权有助于系统对用户文件实施访问控制。与执行进程相关的用户可确定该进程可访问的文件和目录。4.1.1用户和组的基本概念1.用户的基本概念与分类2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)108用户可分为3类,分别是超级用户、系统用户和普通用户。1)超级用户超级用户(root用户)用于管理系统,其UID和GID(组ID)都是0,该用户对系统具有全部访问权限,可以操作系统中的所有资源。2)系统用户系统用户用于执行系统服务进程。系统服务进程通常不需要以root用户的身份执行,每个系统服务进程在执行时,系统都会为其分配非特权用户,以确保其文件和相关资源不受彼此及普通用户的影响。2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1093)普通用户普通用户是系统执行时为了完成某项任务手动创建的用户,该用户仅能使用Linux的部分资源,对系统具有有限的访问权限,从而保证的Linux的安全。该用户可用于登录系统,并操作权限内的系统资源。查看当前已登录的用户信息可以使用id命令,如图4-1所示。图4-1查看当前已登录的用户信息2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)110用户组是具有相同特征用户的逻辑集合,相同特征用户包括需要共享文件和其他系统资源的用户。将所有需要访问相同资源的用户放入同一个组中,然后给这个组授权,那么这个组内的所有用户也就拥有了相同的权限。用户组极大地简化了Linux管理用户的难度,使Linux对用户的管理及对权限的控制更加容易、便捷。与用户相似,用户组也有组名称,以增强操作的便利性。在Linux内部,系统通过为用户组分配唯一的标识号(即组ID或GID)来区分不同的组。2.用户组的基本概念与分类2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1111)主组每个用户有且只有一个主组,对本地用户而言,主组是“/etc/passwd”文件中用户条目的GID字段所标识的组。通常情况下,在创建普通用户时,系统会默认创建一个与该用户同名的新组。该组将作为该新用户的主组,而该新用户则是这一用户组的唯一成员,这样做有助于简化文件权限的管理。例如,用户user01在“/etc/passwd”文件中的用户条目对应的GID为1002,通过id命令查看,GID为1002的用户组为user01,由此可知用户user01的主组为用户组user01,如图4-2所示。用户组可以分为两类,分别是主组和附加组。图4-2用户的主组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)1122)附加组附加组的成员资格由“/etc/group”文件确定。如果一个组对某资源具有访问权限,那么属于该组的用户也对该资源具有访问权限,不管该组是用户的主组还是附加组。例如,如果用户user01有一个主组user01及两个附加组group01和group02,那么该用户就可以访问这3个组中任何一个组具有访问权限的资源。用id命令还可以查找用户的组成员信息,如图4-3所示。图4-3用户的附加组2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)113人们习惯在Linux中使用用户名进行操作,但在系统内部则使用UID来跟踪用户,用户名和UID的映射在用户信息数据库中定义。默认情况下,系统使用“/etc/passwd”文件来存储与本地用户有关的信息。“/etc/passwd”文件中的每行保存一个用户的资料,而每行各字段之间用“:”分隔,共7个字段,以用户名为user01的普通用户为例,格式如下:user01:x:1000:1000:centos:/home/user01:/bin/bash4.1.2用户和组相关文件及目录1.用户文件“/etc/passwd”2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)114“/etc/shadow”文件为文本文件,但这个文件只有root用户才能读取,普通用户没有权限读取。由于任何用户对“/etc/passwd”文件都有读的权限,虽然密码经过加密,但加密算法是公开的,所以一旦恶意用户取得了“/etc/passwd”文件,便极有可能破解密码。因此,针对这种安全隐患,Linux目录系统广泛使用了“shadow(影子)文件”机制,将加密的密码转移到“/etc/shadow”文件中,该文件只有root用户才能读取,而相应的“/etc/passwd”文件的密文域显示为一个“x”,从而最大限制地减少密文泄露的机会。和“/etc/passwd”文件类似,“/etc/shadow”文件中的每条记录用“:”分隔,共9个字段,以用户名为user01的普通用户为例,格式如下:user01:$6$P6WFxzcvdjhglucs$vUer6lweMzVM0F0G21AKOcDoco7Zl6v0qdPG/bcYxMlAR9z9zWlzzUPQ/K83FE6uM9Nta8zkkyeBrpevx0q7N.:18567:0:99999:7:::2.用户影子文件“/etc/shadow”2024年1月2日Linux应用基础项目化教程(RHEL8.2/CentOS8.2)115用户组名到GID的映射在组用户信息数据库中定义,默认使用“/etc/group”文件存储用户组的信息。和“/etc/passwd”文件类似,“/etc/group”文件的每一行都包含了有关某个组的信息。每条组记录用“:”分隔,共4个字段,以group01为例,格式如下:group
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舵机企业县域市场拓展与下沉战略研究报告
- 冷拔钢管企业县域市场拓展与下沉战略研究报告
- 2025年广告设计师广告营销传播策略考核试卷
- 割捆机企业ESG实践与创新战略研究报告
- 自行车照明或视觉、音响信号装置企业ESG实践与创新战略研究报告
- 2025年危险化学品安全考试题库(危险化学品安全操作规范培训效果)试题
- 科研、医疗专用钠蒸气灯企业数字化转型与智慧升级战略研究报告
- 2025年大学辅导员招聘:学生心理健康测评专业知识测评试卷
- 医疗设备使用合同范本
- 在线拍卖合同模板
- 【武汉大学】2025DeepSeek驱动下的地图生成报告
- 高空作业简答试题及答案
- 反邪教测试题及答案
- 跨语言文本生成-全面剖析
- 天车培训考试题及答案
- 预见性护理及早期风险识别
- 中途入伙开店协议书
- 外科学普外科试题及答案
- 西安信息职业大学《形势与政策(7)》2023-2024学年第一学期期末试卷
- 《集中用餐单位落实食品安全主体责任监督管理规定》解读与培训
- 100MW山地光伏(渔光互补)项目质量验收范围划分表
评论
0/150
提交评论