Linux系统及应用---调研报告【CentOS Linux 7】实验1【VMware安装、新建虚拟机;63个基础命令运行结果图】【CentOS Linux 7】实验2【Shell编程及应用】【CentOS Linux 7】实验3【用户组群管理、磁盘分区及文件系统管理】【CentOS Linux 7】实验4【Linux网络应用、Linux下C语言编程】【CentOS Linux 7】实验5【安装VScode,并用VScode编写HTML网页】实验4文档:gcc编译器、Linux网络配置基础
目 录
【实验目的】
【实验步骤】
(1)说明/etc/passwd,/etc/shadow,/etc/group,/etc/gashadow四个文件的作用,以及每个文件中以其中第一行为例,解释各个字段的含义。
1:/etc/passwd
2:/etc/shadow
3:/etc/group
4:/etc/gashadow
(2)举例说明passwd、useradd、groupadd、su四个命令用法。
1、passwd
2、useradd
3、groupadd
4、su
(3)什么是磁盘分区?什么是格式化?简要说明Linux支持的文件系统有哪几种?
磁盘分区
格式化
Linux支持的文件系统
(4)在Linux的/etc/fstab文件中有一行如下,试着解释其含义。/dev/sda5 /mnt/www xfs defaults 0 1
(5)解释Linux交换分区的作用是什么?
(6)fdisk命令有哪些子命令?其含义分别是什么?
(7)Linux系统中用户账户有哪些分类?
1. root用户
2.系统用户
3.普通用户
(8)默认情况下新创建的第一个用户账户UID是多少?
(9)解释下列各个字段的含义
(10)举例说明chmod的两种用法。(文字设定法和数字设定法)
文字设定法
数字设定法
(11)什么是逻辑卷LVM,有什么作用?
(12)使用新磁盘存储数据一般要经过哪些操作步骤?
【实验总结】
【实验目的】
学会Linux用户及用户组群管理;掌握磁盘分区及文件系统管理的方法。
【实验步骤】
(1)说明/etc/passwd,/etc/shadow,/etc/group,/etc/gashadow四个文件的作用,以及每个文件中以其中第一行为例,解释各个字段的含义。
1:/etc/passwd
任何用户都可以读取/etc/passwd文件内容。在/etc/passwd文件中,每一行表示的是一个用户账号的信息,一行有7个段位,每个段位用“:”分隔,下面是/etc/passwd文件的部分内容。
root:x:0:0:root:/root:/bin/bash
root:用户名,也称为登录名,在系统内用户名应该具有唯一性。
x:存放加密用户的密码,看到的是一个x,其实密码已被映射到/etc/shadow文件中。
0:用户标识名(UID),每个用户的UID都是唯一的。
0:组群标识名(GID),在系统内用一个整数标识用户所属的主要组群ID号,这个GID也是唯一的。
root:用户名目录
主目录:用户登录系统后首先进入的目录。
/bin/bash:用户使用的shell类型
2:/etc/shadow
/etc/shadow文件是/etc/passwd的影子文件,这个文件并不是由/etc/passwd文件产生的,这两个文件应该是对应互补的。/etc/shadow文件内容包括用户及被加密的密码以及其他/etc/passwd不能包括的信息,比如用户账户的有效期限等。
/etc/shadow文件只有root 用户可以读取和操作,文件的权限不能随便更改为其他用户可读,这样做是非常危险的。如果发现这个文件的权限变成了其他组群或用户可读了,则要进行检查,以防系统安全问题的发生。
/etc/shadow文件的内容包括9个段位,每个段位之间用“:”分隔。
root:$6$FHFK5Ioc8/E…/kwD6YXDm0::0:99999:7:::
root:用户名。
$6$FHFK5Ioc8/E…/kwD6YXDm0:密码已经加密,如果有些用户在这里显示的是“!!”,则表示这个用户还没有设置密码,不能登录到系统。
::: :保留字段,目前为空,以备将来Linux系统发展时使用。
3:/etc/group
/etc/group文件是组群的配置文件,内容包括用户和组群,并且能显示出用户是归属哪个组群或哪几个组群。一个用户可以归属一个或多个不同的组群,同一组群的用户之间具有相似的特征。比如把某一用户加入到root 组群,那么这个用户就可以浏览root 用户主目录的文件;如果root用户把某个文件的读写执行权限开放,root 组群的所有用户就都可以修改此文件;如果是可执行的文件,root 组群的用户也是可以执行的。
组群的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户有关于系统管理的重要内容,最好让该用户拥有独立的组群,或者把用户的文件的权限设置为完全私有。
/etc/group 文件简介
/etc/group文件的内容包括组群名、组群密码、GID及该组群所包含的用户,每个组群一条记录,一行有4个段位,每个段位用“:”分隔,下面是/etc/group文件的部分内容。
root:x:0:
root:组群名称,如组群名root。
0:组群标识号(GID),在系统内用一个整数标识组群GID,每个组群的GID都是唯一的,默认普通组群的GID从1000开始,root组群GID是0。
4:/etc/gashadow
/etc/gshadow是/etc/group的加密文件,组群密码就是存放在这个文件中。/etc/gshadow 和/etc/group是互补的两个文件;对于大型服务器,需要针对很多用户和组群,定制一些关系结构比较复杂的权限模型,设置组群密码是很有必要的。比如不想让一些非组群成员永久拥有组群的权限和特性,可以通过密码验证的方式来让某些用户临时拥有一些组群特性, 这时就要用到组群密码。
/etc/gshadow文件中每个组群都有一条记录。 一行有4个段位, 每个段位用“:”分隔,下面是/etc/gshadow文件的部分内容。
root:::
root:组群的名称。
:组群密码,密码已经加密。
:组群管理员,组群的管理者有权在该组群中添加、删除用户。
:组群成员,属于该组群的用户成员列表。
(2)举例说明passwd、useradd、groupadd、su四个命令用法。
1、passwd
2、useradd
3、groupadd
4、su
(3)什么是磁盘分区?什么是格式化?简要说明Linux支持的文件系统有哪几种?
磁盘分区
磁盘分区是指对硬盘物理介质的逻辑划分。将磁盘分成多个分区,不仅有利于对文件的管理,而且不同的分区可以建立不同的文件系统,这样才能在不同的分区上安装不同的操作系统。
分区就是磁盘的“段落”,如果用户希望在计算机上安装多个操作系统,将需要更多的分区。假设需要同时安装 Windows10和 Windows Server 系统,那么至少需要两个分区,原因是不同的操作系统原则上采用不同的文件系统。如果几个操作系统都支持相同的文件系统,通常为了避免在一个分区下有相同的系统目录,而将它们安装在不同的磁盘分区上。在 Linux系统中,情况又有所不同,它本身又需要更多的磁盘分区,比如根分区“/”和swap分区。
磁盘分区一共有3种:主分区、扩展分区和逻辑驱动器。扩展分区只不过是逻辑驱动器的“容器”,实际上只有主分区和逻辑驱动器才能进行数据存储。在一块磁盘上最多只能有四个主分区,可以另外建立一个扩展分区来代替四个主分区中的一个,然后在扩展分区下可以建立更多的逻辑驱动器。
计算机启动的时候,首先读取MBR中的硬盘分区表,从中选择唯一一个具有活动标记的分区,引导该分区上的操作系统。也就是说,无论有几个主分区,其中必须有一个分区是活动的。
不同的操作系统具有不同的磁盘分区工具, Windows系统下非常有名的分区工具是 fdisk,在 Linux系统中进行分区可以使用 fdisk和 parted等命令,或者使用相同功能的图形界面程序。
格式化
格式化是指对磁盘分区进行初始化的一种操作,这种操作通常会导致现有的分区中所有的数据被清除。简单说,就是把一张空白的磁盘划分成一个个小区域并编号,供计算机存储和读取数据使用。
格式化是在磁盘中建立磁道和扇区,建立好之后,计算机才可以使用磁盘来存储数据。格式化的动作通常是在磁盘的开端写入启动扇区的数据、在根目录记录磁盘卷标、为文件分配表保留一些空间,以及检查磁盘上是否有损坏的扇区,如果有的话则在文件分配表标上损坏的记号,表示该扇区并不用来存储数据。
每个主分区和逻辑驱动器都会被存储为一个识别文件系统的附加信息。操作系统能通过这些信息非常容易地识别和确认应该使用哪个分区,不能识别的分区将会被忽略。
通过分区当然不能产生任何文件系统。分区只是对磁盘上的磁盘空间进行了保留,还不能直接使用,在此之后分区必须要进行格式化。在Windows系统下可以通过资源管理器下的文件菜单或者format程序来执行,而在Linux系统中大多使用mkfs命令来完成。
Linux系统支持不同的文件系统,目前应用最广泛的就是xfs和ext4。
Linux支持的文件系统
1、XFS
XFS是一种非常优秀的日志文件系统,它是由SGI于20世纪90年代初开发的。XFS推出后被业界称为先进的、最具可升级性的文件系统。它是一个全64位、快速、稳固的日志文件系统。当SGI决定支持Linux社区时,它将关键的基本架构技术授权于Linux 社区,以开源形式发布了XFS的源代码,并开始进行移植。
2、ext4
Linux内核自2.6.28开始正式支持ext4,它是一种针对ext3文件系统的扩展日志式文件系统。ext4修改了ext3中部分重要的数据结构,而不仅仅像ext3对ext2那样只是增加了一个日志功能而已。ext4可以提供更佳的性能和可靠性,还有更为丰富的功能。
3、JFS
JFS是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器的高吞吐量和可靠性需求而设计开发的。在IBM的AIX系统上,JFS经过较长时间的测试,结果表明它是可靠、快速和容易使用的。与非日志文件系统相比,它的突出优点是快速重启能力,使用数据库日志处理技术,JFS能在几秒或几分钟之内把文件系统恢复到一致状态。而在非日志文件系统中,文件恢复可能花费几小时甚至几天。JFS 的缺点是系统性能上会有一定损失,系统资源占用率也偏高。
4、ReiserFS
ReiserFS使用了特殊的、优化的平衡树来组织所有的文件系统数据,这为其自身提供了非常不错的性能改进,也能够减轻文件系统设计上的人为约束。ReiserFS 根据需要动态地分配索引节,而不必在文件系统创建时建立固定的索引节。ReiserFS 的缺点是每升级一个版本都将要将磁盘重新格式化一次,而且它的安全性和稳定性与ext3相比有一定的差距。 ReiserFS文件系统还不能正确处理超长的文件目录。
(4)在Linux的/etc/fstab文件中有一行如下,试着解释其含义。/dev/sda5 /mnt/www xfs defaults 0 1
/dev/sda5:设备名称,可以使用设备名和UUID来指定设备。
/mnt/www :挂载目录,Linux系统为每个设备或磁盘分区都指定了挂载目录,当Linux系统启动时,这些分区和设备同样会被自动地挂载。
xfs:文件系统类型。
defaults:使用文件系统的默认挂载参数。
0:转储选项,即dump选项,dump选项检查文件系统并用一个数字来决定该文件系统是否需要备份。如果它是0,dump将会忽略该文件系统,不做备份。
1:文件系统检查选项,即fsck选项,fsck选项通过第六列中的数字来决定以何种顺序来检查文件系统。如果它是0,fsck将不会检查该文件系统。
(5)解释Linux交换分区的作用是什么?
Linux系统中的交换空间在物理内存被用完时使用。如果系统需要更多的内存资源,而物理内存已经用完,内存中不活跃的页就会被转移到交换空间中。虽然交换空间可以为带有少量内存的计算机提供帮助,但是这种方法不应该被当作对内存的取代。
用户有时需要在安装Linux系统后添加更多的交换空间,这时可以通过添加一个交换分区(推荐优先使用)或添加一个交换文件来实现。交换空间的总大小一般为计算机物理内存的1~2倍,计算机物理内存越大,倍数越小。
(6)fdisk命令有哪些子命令?其含义分别是什么?
m:显示所有能在fdisk中使用的子命令。p:显示磁盘分区信息。a:设置磁盘启动分区。n:创建新的分区。e:创建扩展分区。p:创建主分区。t:更改分区的系统ID(也就是分区类型ID)。d:删除磁盘分区。q:退出fdisk,不保存磁盘分区设置。l:列出已知的分区类型。v:验证分区表。w:保存磁盘分区设置并退出fdisk。
(7)Linux系统中用户账户有哪些分类?
用户账户在Linux系统中是分角色的,由于角色不同,每个用户的权限和所能完成的任务也不同。而在实际的管理中,用户的角色是通过UID (用户ID号)来标识的,每个用户的UID都是不同的。
在Linux系统中有三大类用户,分别是root用户、系统用户和普通用户。
1. root用户
在Linux系统中,root 用户UID为0。root 用户的权限是最高的,普通用户无法执行的操作。root用户都能完成,所以也被称为超级用户。在系统中的每个文件、目录和进程都归属于某一个用户,没有用户许可,其他普通用户是无法操作的,但对root用户除外。root 用户的特权性还表现在root用户可以超越任何用户和组群对文件或目录进行读取、修改和删除(在系统正常的许可范围内);可以控制对可执行程序的执行和终止;可以对硬件设备执行添加、创建和移除等操作;也可以对文件和目录的属性和权限进行修改,以适合系统管理的需要。
2.系统用户
系统用户也称为虚拟用户、伪用户或假用户,这类用户不具有登录Linux系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的。系统用户的UID为1~999。
3.普通用户
这类用户能登录系统,在Linux系统上进行普通操作,能操作自己目录的内容,其使用系统的权限受限,这类用户都是系统管理员创建的。普通用户的UID为1000-60000。
(8)默认情况下新创建的第一个用户账户UID是多少?
用户标识号(UID),在系统内用一个整数标识用户ID号,每个用户的UID都是唯一的,root用户的UID是0,普通用户的UID默认从1000开始。
(9)解释下列各个字段的含义
[root@lsrlinux lsr]# ls -l /root
总用量 256904
-rw-------. 1 root root 2123 5月 19 anaconda-ks.cfg
drwxr-xr-x 2 root root 53 7月 14 example
-rw-r--r--. 1 root root 2171 5月 19 initial-setup-ks.cfg
drwxr-xr-x 17 501 501 4096 6月 25 Python-3.6.5
以其中一行为例,解释其各个字段的含义。(重点解释第一个字段10个字符的含义)
使用ls -l命令可以显示文件和目录的详细信息,其中包括文件和目录的权限。
总用量 256904:是指当前目录下所有文件所占用的空间总和。
第一字段-rw-------:用户所有者对文件具有读取、写入的权限。
第2~10个字符当中的每3个为一组,左边3个字符表示用户所有者权限,中间3个字符表示组群所有者的权限,右边3个字符是其他用户的权限。
d:表示该文件是一个目录。
r:读取(对文件而言,该用户具有读取文件内容的权限;对目录来说,该用户具有浏览目录的权限。)
w:写入(对文件而言,该用户具有新增、修改文件内容的权限;对目录来说,该用户具有删除、移动目录内文件的权限。)
x:执行(对文件而言,该用户具有执行文件的权限;对目录来说,该用户具有进入目录的权限。)
-:表示该用户不具有该项权限。
(10)举例说明chmod的两种用法。(文字设定法和数字设定法)
文字设定法
通过文字设定法更改权限需要使用chmod命令,在一个命令行中可给出多个权限方式,其间用逗号隔开。
chmod的命令语法:
chmod [操作对象][操作符号][权限][文件|目录]
数字设定法
文件和目录的权限表中用r、w、x这三个字符来为用户所有者、组群所有者和其他用户设置权限。有时候使用字符似乎过于麻烦,因此还有另外一种方法,即以数字来表示权限,而且仅需3个数字。
使用数字设定法更改文件权限,首先必须了解数字表示的含义:0表示没有权限,1表示可执行权限,2表示写入权限,4表示读取权限,然后将其相加。
(11)什么是逻辑卷LVM,有什么作用?
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。
小系统使用LVM的益处:
传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:
1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;
2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中;或采用符号连接的方式使用其它分区的空间。
3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。当采用LVM时,情况有所不同:
1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;
2.文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求;
3.文件系统建立在LVM上,可以跨分区,方便使用;
大系统使用LVM的益处:
在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。
在一个有很多不同容量硬盘的大型系统中,对不同的用户的空间分配是一个技巧性的工作,要在用户需求与实际可用空间中寻求平衡。
用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去。
(12)使用新磁盘存储数据一般要经过哪些操作步骤?
首先添加一个新的磁盘,大小空间任意指定。添加完成后,重启后,可识别。名字一般会自动命名为 sdb. 在 /dev/sdb目录下。这个时候可以使用fdisk -l 查看磁盘查看df -h
【实验总结】
通过本次实验,我对“磁盘分区”的概念了解的更加深刻。磁盘分区,是指对硬盘物理介质的逻辑划分。将磁盘分成多个分区,不仅有利于对文件的管理,而且不同的分区可以建立不同的文件系统,这样才能在不同的分区上安装不同的操作系统。磁盘分区一共有3种:主分区、扩展分区与逻辑驱动器。不同的操作系统具有不同的磁盘分区工具,在Linux系统中进行分区可以使用fdisk命令。
此外,实验令我对“权限的设置”理解更加透彻。在Linux系统中,用户对一个文件或目录具有读取、写入和执行访问权限,这些访问权限决定了谁能访问,以及如何访问这些文件和目录。通过设置权限可以限制或允许文件的用户所有者、文件的组群所有者、系统中的其他用户访问。更改文件或目录权限一般使用文字设定法或数字设定法。
实验能够令我发现自身的不足,课下我会多加练习,勤查资料。