admin管理员组

文章数量:1563235

前言

学习目标

  • 不要求深入理解所安装部署的软件是什么,仅仅能够跟随课程成功的将其部署安装并运行成功即可

  • 安装软件涵盖了大多数IT从业者所能接触到的,特别是大数据开发、后端开发两个主流方向,可以作为参考资料,以便在工作中有所帮助。

通过命令进行网络配置

配置网络

在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
在Linux系统中手动修改配置文件,固定IP
首先让我们,先进行第一步,跟随图片进行操作


现在进行第二步,在Linux系统中修改固定IP
使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

   TYPE="Ethernet"
   PROXY_METHOD="none"
   BROWSER_ONLY="no"
   BOOTPROTO="static"			# 改为static,固定IP
   DEFROUTE="yes"
   IPV4_FAILURE_FATAL="no"
   IPV6INIT="yes"
   IPV6_AUTOCONF="yes"
   IPV6_DEFROUTE="yes"
   IPV6_FAILURE_FATAL="no"
   IPV6_ADDR_GEN_MODE="stable-privacy"
   NAME="ens33"
   UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
   DEVICE="ens33"
   ONBOOT="yes"
   IPADDR="192.168.88.131"		# IP地址,自己设置,要匹配网络范围
   NETMASK="255.255.255.0"		# 子网掩码,固定写法255.255.255.0
   GATEWAY="192.168.88.2"		# 网关,要和VMware中配置的一致
   DNS1="192.168.88.2"			# DNS1服务器,和网关一致即可

执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

进行测试

ip addr / ip -s link 用于显示CentOS内核中网络接口地址 / 网络接口统计信息。

ping命令测试与其他主机的连通性

ss -ant 用来显示网络连接、路由表、网络接口信息,检验本机各端口的网络连接情况。

使用nmcli/nmtui命令管理和配置网络

启用/关闭网络连接:nmcli con [up/down] ens33 (只能在物理机上使用,在ssh链接模式下无法使用)

显示网络设备连接状态:nmcli dev status

显示所有网络设备的详情:nmcli dev show

使用nmtui配置网卡(只能在物理机上使用,在ssh链接模式下无法使用)

使用rpm管理软件包(图形化界面安装只能用于物理机安装,SSH连接的远程登录模式不可用)

1、进入root模式;
2、安装X窗口系统:yum groupinstall “X Window System”
3、查看可以安装的软件:yum grouplist
4、安装图形界面:yum groupinstall “KDE Plasma Workspaces”
5、通过命令 startx 进入图形界面;
6、进入图形界面后可以使用Ctrl+Alt+F2切换到命令行界面,Ctrl+Alt+F1切换到图形界面。
7、卸载KDE界面:yum groupremove “KDE Plasma Workspaces”

在CentOS7系统上安装KDE后,默认显示的是英文。
修改为中文的步骤如下:
1、查看可用的中文安装包
yum list kde*chinese
2、安装中文包
yum install kde-l10n-Chinese.noarch
3、安装完成重启reboot。

配置本地yum源:(需要自己插入光盘在服务器,基本过时了,正常都是连网改yum源)

创建光盘挂载点
#mkdir /mnt/cdrom
挂载系统光盘到/mnt/cdrom目录下
#mount /dev/cdrom /mnt/cdrom
进入/etc/yum.repos.d目录
#cd /etc/yum.repos.d/
创建repo的备份目录
#mkdir repo.bak
把系统原有的repo文件复制到刚创建的备份目录下
#cp ./*.repo ./repo.bak/
编辑光盘yum的repo文件,加入以下内容,保存退出
#vi CentOS-Media.repo

[CentOS-Media]
name=CentOS-Media
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=0

磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作,而fstab正是负责这一配置。在linux中/etc/fstab就是在开机引导的时候自动挂载的配置文件。其每行定义一个要挂载的文件系统。
将光盘cdrom挂载到/mnt/cdrom,文件系统iso9660,不进行dump备份以及开机磁盘检查,则在/etc/fstab里增加一行:
/dev/cdrom /mnt/cdrom iso9660 defaults 0 0

CentOS的存储管理

磁盘分区相关概念

(1)什么是磁盘
磁盘就是计算机的外部存储器设备,即将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。简单地讲,就是一种计算机信息载体,也可以反复地被改写。磁盘有软盘和硬盘之分:
①软盘(Floppy Disk)
②硬盘(Hard Disk)
硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)、液态硬盘(液态轴承硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。我们这里提到的磁盘分区中的磁盘指的就是硬盘。
(2)硬盘的接口类型
硬盘接口是硬盘与主机系统间的连接部件,作用是在硬盘缓存和主机内存之间传输数据。不同的硬盘接口决定着硬盘与计算机之间的连接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。
①IDE IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”。
②SATA 使用SATA(Serial ATA)口的硬盘又叫串口硬盘。
③SCSI SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口)。
④光纤通道 Fibre Channel,和SCSI接口一样光纤通道最初也不是为硬盘设计开发的接口
技术,专门为网络系统设计的。
⑤SAS SAS(Serial Attached SCSI)即串行连接SCSI。
(3)什么是磁盘分区
磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件;但太多分区就成了麻烦。空间管理、访问许可与目录搜索的方式,都依赖安装在分区上的文件系统。

MBR与GPT
1、MBR
MBR的意思是“主引导记录”,是因为它存在于硬盘驱动器开始部分的第一个扇区内,称为启动扇区。启动扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。
MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘。MBR还只支持最多4个主分区。如果要更多分区,要新建“扩展分区”,并在其中创建逻辑分区。
2、GPT分区:
GPT意为GUID分区表,这是一个正逐渐取代MBR的新标准,它由UEFI启动硬盘,这样就有了UEFI取代传统的BIOS,而GPT则取代传统的MBR。这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多。它同时还支持几乎无限个分区数量,限制只在于操作系统,Windows支持最多128个GPT分区。通过UEFI,所有64位的系统都能从GPT启动。

4)分区类型
硬盘分区之后,会形成4种形式的分区状态:非DOS分区 、主分区、扩展分区、逻辑分区
(5)文件系统格式
磁盘分区后,必须经过格式化才能够正式使用,格式化后常见的磁盘格式有:FAT(FAT16)、FAT32、NTFS、ext2、ext3、ext4、swap、xfs等。
①FAT16
这是MS-DOS和最早期的Win95操作系统中最常见的磁盘分区格式。它采用16位的文件分配表,能支持最大为2GB的硬盘。
②FAT32
采用32位的文件分配表,使其对磁盘的管理能力大大增强,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。而且,FAT32具有一个最大的优点:在一个不超过8GB的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。
③NTFS
NTFS (New Technology File System),它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全
④ext2、ext3、ext4
ext2、ext3、ext4是Linux操作系统适用的磁盘格式,CentOS是linux的一个发行版本,所以ext2、ext3、ext4也是CentOS操作系统适用的磁盘格式。
ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。
Linux缺省情况下使用的文件系统为ext2,ext2文件系统的确高效稳定。缺点也很明显,ext2文件系统是非日志文件系统。
ext3文件系统是直接从ext2文件系统发展而来,它完全兼容ext2文件系统。ext3是日志文件系统。
ext4文件系统是针对ext3文件系统的扩展日志文件系统,ext4修改了ext3中部分重要的数据结构,ext4可以提供更佳的性能和可靠性,还有更为丰富的功能。
⑤swap
swap分区,即交换分区,系统在物理内存不够时,与swap进行交换。其实,swap的调整对CentOS服务器,特别是web服务器的性能至关重要。通过调整swap,有时可以越过系统性能瓶颈,节省系统升级费用。
在安装CentOS操作系统时,就会创建swap分区,它是CentOS正常运行所必需的,其大小一般应设置为系统物理内存的2倍。交换分区由操作系统自行管理。
⑥XFS分区
Ext4受限制于磁盘结构和兼容问题,可扩展性和scalability确实不如XFS,XFS使用64位管理空间,文件系统规模可以达到EB级别。
CentOS7默认是xfs文件系统。
CentOS5.x和CentOS6.x默认文件系统分别是ext3、ext4。

类型 单文件最大
EXT 2GB
EXT2 2TB
EXT3 4TB
EXT4 16TB
XFS 8EB
关于分区结构与文件系统的参考:
https://blog.csdn/MicePro/article/details/99614636?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

6)CentOS下的设备命名
在CentOS下对IDE的设备是以hd命名的,第一个IDE设备是hda,第二个是hdb,依此类推。
一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的两个设备分别对应hda和hdb,第二个IDE口上的两个设备对应hdc和hdd。一般硬盘安装在主IDE的主接口上,所以是hda。
光驱一般安装在第二个IDE的主接口上,所以是hdc(hdb是用来命名主IDE上的从接口)。
SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推。
分区是用设备名称加数字命名的。例如hda1代表hda这个硬盘设备上的第一个分区。
每个硬盘可以最多有四个主分区,作用是1-4命名硬盘的主分区。逻辑分区是从5开始的,每多一个分区,数字加1就可以。
比如一般的系统都有一个主分区用来引导系统,这个分区对应大家常说的C区,在CentOS下命名是hda1。后面我们分三个逻辑分区对应常说的D、E、F,在CentOS下命名是hda5、hda6、hda7。

磁盘阵列RAID

磁盘阵列(Redundant Arrays of Independent Disks,RAID),独立磁盘构成的具有冗余能力的阵列。冗余就是把相同的数据存储在多个硬盘的不同的地方。
通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
磁盘阵列是由很多价格较便宜的磁盘,以硬件(RAID卡)或软件(MDADM)形式组合成一个容量巨大的磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 磁盘阵列还能利用同位检查(Parity Check),在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,价格昂贵。
内接式磁盘阵列卡,价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。
利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。

RAID优点

提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。
在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。
通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

磁盘阵列类型

RAID0:没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用(至少需要2块硬盘)。
RAID1:磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的(至少需要2块硬盘)。
RAID0+1/RAID1+0:
RAID 1+0是先镜像再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。
RAID 0+1则是跟RAID 1+0的程序相反,是先分区再将数据镜像到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。
RAID10最少需要4块硬盘才能完成。把2块硬盘组成一个RAID1,然后两组RAID1组成一个RAID0。虽然RAID10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性。

更多内容参考 https://baike.so/doc/2350323-2485533.html

RAID5这是目前用的最多的一种方式。
因为 RAID5 是一种将 存储性能、数据安全、存储成本 兼顾的一种方案。
在了解RAID5之前,我们可以先简单看一下RAID3,虽然RAID3用的很少,但弄清楚了RAID3就很容易明白RAID5的思路。RAID3的方式是:将数据按照RAID0的形式,分成多份同时写入多块磁盘,但是还会另外再留出一块磁盘用于写「奇偶校验码」。例如总共有N块磁盘,那么就会让其中额度N-1块用来并发的写数据,第N块磁盘用记录校验码数据。一旦某一块磁盘坏掉了,就可以利用其它的N-1块磁盘去恢复数据。
但是由于第N块磁盘是校验码磁盘,因此有任何数据的写入都会要去更新这块磁盘,导致这块磁盘的读写是最频繁的,也就非常的容易损坏。
RAID5的方式可以说是对RAID3进行了改进。
RAID5模式中,不再需要用单独的磁盘写校验码了。它把校验码信息分布到各个磁盘上。例如,总共有N块磁盘,那么会将要写入的数据分成N份,并发的写入到N块磁盘中,同时还将数据的校验码信息也写入到这N块磁盘中(数据与对应的校验码信息必须得分开存储在不同的磁盘上)。一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。
RAID5校验位算法原理:P = D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
RAID5的方式,最少需要三块磁盘来组建磁盘阵列,允许最多同时坏一块磁盘。如果有两块磁盘同时损坏了,那数据就无法恢复了。

更多内容参考:https://baike.so/doc/2350323-2485533.html
特别提醒:添加新的虚拟磁盘之前,记得先给系统做快照

RAID6
为了进一步提高存储的高可用,聪明的人们又提出了RAID6方案,可以在有两块磁盘同时损坏的情况下,也能保障数据可恢复。
为什么RAID6这么牛呢,因为RAID6在RAID5的基础上再次改进,引入了双重校验的概念。
RAID6除了每块磁盘上都有同级数据XOR校验区以外,还有针对每个数据块的XOR校验区,这样的话,相当于每个数据块有两个校验保护措施,因此数据的冗余性更高了。
但是RAID6的这种设计也带来了很高的复杂度,虽然数据冗余性好,读取的效率也比较高,但是写数据的性能就很差。因此RAID6在实际环境中应用的比较少。
整体对比一下 RAID0、RAID1、RAID5、RAID6、RAID10 的几个特征:

磁盘信息查看命令

1.查看系统是否检测到新硬盘设备 ls /dev/ |grep sd
2.可以查看各个硬盘和分区的大小 fdisk -l
3.查看文件系统(-a、-h、-T) df -h
4.查看自动挂载配置中的设备 cat /etc/fstab

磁盘分区的方法

1)用fdisk命令在CentOS下进行分区
fdisk命令格式:fdisk [参数] 设备
常用参数:
① -l:显示指定硬盘设备的分区表信息。
② -u:以扇区为单位列出每个设备分区的起始数据块选项位置。
③ -s:以数据块为单位显示指定设备分区的容量。
在执行fdisk命令后,进入分区管理模式,需要使用子命令完成分区操作:
① n:创建磁盘分区。
② d:删除磁盘分区。
③ p:显示磁盘分区信息。
④ t:修改磁盘分区属性。
⑤ l:显示可用的磁盘分区类型标识列表。
⑥ w:结束并写入磁盘分区属性。
⑦ m:显示所有子命令。
⑧ q:结束但不写入磁盘分区属性。
⑨ a:设定硬盘启动区。
使分区立即生效:partprobe /dev/sdb

具体操作请参阅https://wwwblogs/boshen-hzb/p/6669016.html?utm_source=itdadao&utm_medium=referral

文件系统的创建

磁盘分区只有在创建文件系统后才能使用,这一过程称为格式化。CentOS中常用的文件系统是ext3、ext4和xfs。
CentOS中建立文件系统常用的命令是mkfs,命令格式如下:
mkfs [参数] [-t 文件系统类型] 分区名
例:mkfs -t ext4 /dev/sdb1
常用参数有:
① -v:产生冗余输出。
② -V:显示mkfs命令的版本号。
③ -c:建立文件系统之前,检查坏块。
mkfs命令格式还可以这样写:
mkfs.文件系统类型 分区名

文件系统与设备的挂载与卸载

文件系统创建后,需要把该文件挂载到CentOS的目录上,然后才能使用。同样,像光驱、U盘等设备也必须挂载到CentOS的目录上,然后才能使用。
挂载文件系统和设备有两种方法:一是使用手工加载命令mount手动挂载;二是通过配置/etc/fstab文件来实现开机自动挂载。
(1)使用mount命令手动挂载文件系统和设备
mount [-t vfstype] [-o options] 设备标识 挂载点
[-t vfstype]指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。 [-o options]主要用来描述设备或档案的挂接方式。device 要挂接(mount)的设备。dir是设备在系统上的挂接点(mount point)。
options常用的参数有:
①loop:用来把一个文件当成硬盘分区挂接上系统
②ro:采用只读方式挂接设备
③rw:采用读写方式挂接设备
④iocharset:指定访问文件系统所用字符集
2)配置/etc/fstab文件
例如:将新分区 /dev/sda2 挂载在 /home/new 目录下,则只需在fstab文件中加入一行:

/dev/sda2/home/newext3default00
设备标识挂载点文件系统类型默认选项

fstab 文件详细说明参考:
https://blog.csdn/xiaolongwang2010/article/details/8657332

如果要卸载已经挂载的分区,可以使用命令umount,命令格式如下:
umount [参数] 设备标识
常用的参数有:
①-f:强制卸载指定的文件系统。
②-a:卸载/etc/mtab中记录的所有文件系统。
③-t:卸载指定类型的文件系统

文件系统的检测与修复

当文件系统发生错误时,可用fsck命令进行检查和修复。直接采用分区编号(如/dev/sad3),或使用挂载点(Mount Point,如/、/usr等)指定文件系统即可。如果一次指定多个文件系统,而这些系统分别位于不同的物理磁盘上,则fsck将会尝试同步的方式去检查他们,以节省操作时间。命令格式如下:
fsck [参数] [-t vfstype] device/dir
常用的参数有:
① -t:给定档案系统的型式,若在 /etc/fstab 中已有定义。
② -s:依序一个一个地执行 fsck 的指令来检查。
③ -A:对/etc/fstab 中所有列出来的 partition 做检查。
④ -C:显示完整的检查进度。
⑤ -d:列印 e2fsck 的 debug 结果。
⑥ -p:同时有 -A 条件时,同时有多个 fsck 的检查一起执行。
⑦ -R:同时有 -A 条件时,省略 / 不检查。
⑧ -V:详细显示模式。
⑨ -a:如果检查有错则自动修复。
⑩ -r:如果检查有错则由使用者回答是否修复。

CentOS的分区管理

  • 开启swap
    1)查看服务器磁盘分区
    ls -l /dev/sd*
    sd*表示以sd开头的任意磁盘。
    (2)增加一块新硬盘,如图所示。
    (3)新硬盘创建分区,设置分区类型,格式化,然后挂载分区到目录。

创建交换分区
fdisk /dev/sdb

  • 子命令/操作 命令说明
    n //创建分区
    p //创建主分区
    1 //创建分区1
    回车一次 //起始扇区默认
    输入值 //Last扇区根据空间大小设置
    t //转换分区格式
    82 //转换为swap空间
    p //查看已创建的分区结果
    w //保存退出

交换分区扩充为22G

  • 关闭 swap
    删除 swap 区所有内容
    swapoff -a
    删除 swap 挂载,这样系统下次启动不会再挂载 swap
    #注释 swap 行
    vim /etc/fstab
    重启系统,测试
reboot
free -h

swap 一行应该全部是 0

total        used        free      shared  buff/cache   available
Mem:           3.7G        203M        3.1G        8.5M        384M        3.3G
Swap:            0B          0B          0B
  • 删除分区
    进入:#parted /dev/sdb
    查看:(parted)p
    删除:(parted)rm 1
    退出:(parted)q

CentOS的文件系统和设备的挂载与卸载

例如:挂载sdb1分区到目录/mnt/myfile:
1、格式化sdb1
mkfs.xfs -f /dev/sdb1
2、在/mnt目录(通常作为默认的挂载目录)下创建目录/myfile。
mkdir myfile 或者 mkdir /mnt/myfile
3、将sdb1分区挂载到目录/mnt/myfile。
mount /dev/sdb1 /mnt/myfile
4、 使用df命令查看分区挂载信息。
df -lh

需要将sdb1分区卸载时使用。
umount /dev/sdb1

挂载光盘驱动器:

①在/mnt目录(通常作为默认的挂载目录)下创建目录/cdrom。
mkdir cdrom
②查看光盘驱动器的设备名。默认系统会自动挂载光盘驱动器。
mount
类型为iso9660(CD-ROM光盘标准文件系统),所以该/dev/sr0为光盘文件系统名。
②将光盘驱动器挂载到目录/mnt/cdrom。
mount /dev/sr0 /mnt/cdrom
③ 使用df命令查看分区挂载信息。
df -lh
④将光盘驱动器分区卸载。
umount /dev/sr0

挂载U盘驱动器:

挂载U盘驱动器:
①在/mnt目录(通常作为默认的挂载目录)下创建目录/usb。
mkdir /mnt/usb
②查看U盘驱动器的设备名,默认系统会自动挂载U盘驱动器。
fdisk -l
②将U盘驱动器挂载到目录/mnt/usb。
mount /dev/sdc4 /mnt/usb
③ 使用df命令查看分区挂载信息。
df -lh
④将光盘驱动器分区卸载
umount /dev/sdc4

软件实现RAID0、RAID1和RAID5

Mdadm(multiple devices admin)多设备管理:Linux内核中有一个md(multiple devices)模块在底层管理RAID设备,它会在应用层给我们提供一个应用程序的工具mdadm ,mdadm是linux下用于创建和管理软件RAID的命令。
Mdadm参数:
-a :检测设备名称、添加磁盘
-n :指定设备数量
-l :指定RAID级别
-C :创建
-v :显示过程
-f :模拟设备损坏
-r :移除设备
-Q :查看摘要信息
-D :查看详细信息
-S :停止RAID磁盘阵列

  • 实验环境与要求:
    四块5G的磁盘;
    四块硬盘的2G空间做成RAID10;
    四块硬盘剩余的3G空间做成RAID5。
    首先查看是否安装mdadm
    yum list installed | grep mdadm

如果没有安装mdadm:yum -y install mdadm

  • 创建raid10
  1. 创建四个分区
raid种类分区
raid10sdb1,sdc1,sdd1.sde1

查看有哪些磁盘fdisk -l

创建分区sdb1,sdc1,sdd1,sde1.
以下只演示创建一个分区剩下三个相同操作故不再演示。
fdisk /dev/sdx
x可以为b、c、d、e

  • 子命令/操作 命令说明
    n //创建分区
    p //创建主分区
    1 //创建分区1
    回车一次 //起始扇区默认
    +2G //Last扇区根据空间大小设置,大小要求为2G
    p //查看已创建的分区结果
    w //保存退出

输入partprobe命令,重启让系统读取分区信息
partprobe
查看建好的四个磁盘分区
ll /dev/sdx*
x可以为b、c、d、e

  1. 创建raid10
    mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

    查看md10状态
    mdadm -D /dev/md10

保存raid配置文件
mdadm -Dvs > /etc/mdadm.conf

  • 创建raid5
    目标:创建RAID5, 添加1个热备盘,指定chunk大小为32K
    -x或–spare-devicds= 指定阵列中备用盘的数量
    -c或–chunk= 设定阵列的块chunk块大小 ,单位为KB
    停止阵列,重新激活阵列
    使用热备盘,扩展阵列容量,从3个磁盘扩展到4个

    1. 创建四个分区
raid种类磁盘分区热备盘分区
raid5sdb2,sdc2,sdd2sde2

创建分区sdb2,sdc2,sdd2,sde2.
以下只演示创建一个分区剩下三个相同操作故不再演示。
fdisk /dev/sdx
x可以为b、c、d、e

  • 子命令/操作 命令说明
    n //创建分区
    p //创建主分区
    2 //创建分区2
    回车一次 //起始扇区默认
    回车一次 //Last扇区根据空间大小设置,大小要求为3G,只剩3G
    p //查看已创建的分区结果
    w //保存退出

输入partprobe命令,重启让系统读取分区信息
partprobe
查看建好的四个磁盘分区
ll /dev/sd*

  1. 创建raid5
    mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sdb2 /dev/sdc2 /dev/sdd2 /dev/sde2

当多个磁盘按顺序排列可以尝试使用[]
例如:dfk1到4组成阵列时 mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdk[1-4]
df[ghij]组成阵列时 mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sdk[1-4]

查看md5状态
mdadm -D /dev/md5

更新raid配置文件
mdadm -Dvs > /etc/mdadm.conf
3. 停止md5阵列
停止之前确认md5数据同步已经完成
mdadm -D /dev/md5

/dev/md5:
           Version : 1.2
     Creation Time : Fri Jun 14 19:07:56 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Jun 14 19:08:43 2019
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync	#数据同步已经完成

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 22292719:a4fd7782:6b02ad40:d8e86734
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       96        0      active sync   /dev/sdg
       1       8      112        1      active sync   /dev/sdh
       4       8      128        2      active sync   /dev/sdi

       3       8      144        -      spare   /dev/sdj

查看磁盘阵列的运行情况
cat /proc/mdstat

Personalities : [raid10] [raid6] [raid5] [raid4] 
md5 : active raid5 sdd2[4] sde2[3](S) sdc2[1] sdb2[0]
      6283264 blocks super 1.2 level 5, 512k chunk, #第一行
	  algorithm 2 [3/3] [UUU] #第二行
      
md10 : active raid10 sde1[3] sdd1[2] sdc1[1] sdb1[0]
      4188160 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]

第一行部分:指出 md5 为 raid5 ,且使用了 sdb2,sdc2,sdd2,等三颗磁盘设备。每个设备后面的中括号 [] 内的数字为此磁盘在 RAID 中的顺序(RaidDevice);至于 sde2 后面的 [S] 则代表 sde2 为 spare 之意。
第二行部分:此磁盘阵列拥有 6283264 个block(每个 block 单位为 1K),所以总容量约为 6GB,使用 RAID 5 等级,写入磁盘的小区块(chunk)大小为 512K,使用 algorithm 2 磁盘阵列演算法。 [m/n] 代表此阵列需要 m 个设备,且 n 个设备正常运行。因此本 md5 需要 3 个设备且这 3 个设备均正常运行。后面的 [UUU] 代表的是三个所需的设备(就是 [m/n] 里面的 m)的启动情况,U 代表正常运行,若为 _ 则代表不正常。

停止md5
mdadm -S /dev/md5

激活md5
mdadm -A /dev/md5

使用mdadm -As会扫描/etc/mdadm.conf文件,从而激活所有未激活的阵列

如果不幸删除了/etc/mdadm.conf文件,可以通过mdadm --examine --scan > /etc/mdadm.conf恢复配置文件,这个命令会扫描系统中所有的 RAID 阵列,并将它们的配置信息写入 /etc/mdadm.conf 文件中。

扩展RAID5磁盘阵列,将热备盘增加到md5中,使用md5中可以使用的磁盘数量为4块
mdadm -G /dev/md5 -n 4
#-G或–grow 改变阵列大小或形态
查看状态
mdadm -D /dev/md5

/dev/md5:														# RAID的设备文件名
          Version : 1.2	
    Creation Time : Fri Jun 14 19:07:56 2019		 # 创建时间
       Raid Level : raid5				# RAID 的等级
       Array Size : 41908224 (39.97 GiB 42.91 GB)	#同步未完成时,磁盘空间未变化	 # 整组RAID的可用容量
    Used Dev Size : 20954112 (19.98 GiB 21.46 GB) # 每颗磁盘的容量
     Raid Devices : 4  # 组成RAID的磁盘数量
    Total Devices : 4		 # 包括spare的总磁盘数
      Persistence : Superblock is persistent

      Update Time : Fri Jun 14 19:31:33 2019
            State : clean, reshaping  # 目前这个磁盘阵列的使用状态
   Active Devices : 4		  # 启动的设备数量
  Working Devices : 4			# 目前使用于此阵列的设备数
   Failed Devices : 0			# 损坏的设备数
    Spare Devices : 0			 # 预留磁盘的数量

           Layout : left-symmetric
       Chunk Size : 512K	# 这就是chunk的小区块容量


Consistency Policy : resync

   Reshape Status : 22% complete  #重塑状态:22%完成 ,等到100%, 数据才同步完,同步完后会变成成:Consistency Policy : resync   #一致性策略:再同步,表示已经同步完
    Delta Devices : 1, (3->4)

             Name : localhost.localdomain:5  (local to host localhost.localdomain)
             UUID : 22292719:a4fd7782:6b02ad40:d8e86734
           Events : 42

   Number   Major   Minor   RaidDevice State
      0       8       96        0      active sync   /dev/sdg
      1       8      112        1      active sync   /dev/sdh
      4       8      128        2      active sync   /dev/sdi
      3       8      144        3      active sync   /dev/sdj	#发现原来的热备盘状态由spare变为active
      # 最后四行就是这四个设备目前的状况,RaidDevice 指的是此Raid内的磁盘顺序
      

保存配置文件
mdadm -Dvs > /etc/mdadm.conf

阵列只有在正常状态下,才能扩容,降级及重构时不允许扩容。对于raid5来说,只能增加成员盘,不能减少。而对于raid1来说,可以增加成员盘,也可以减少。同步未完成时,磁盘空间不变,等到同步完成以后,磁盘整列空间才会扩展

同步完成后,磁盘空间成功扩展

/dev/md5:
           Version : 1.2
     Creation Time : Tue Feb  6 18:01:36 2024
        Raid Level : raid5
        Array Size : 9424896 (8.99 GiB 9.65 GB)#同步完成后,磁盘空间成功扩展

     Used Dev Size : 3141632 (3.00 GiB 3.22 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Feb  6 18:45:27 2024
             State : clean 
    Active Devices : 4
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos:5  (local to host centos)
              UUID : c41a84e0:82e4c67d:2997f02e:3da4e9bd
            Events : 43

    Number   Major   Minor   RaidDevice State
       0       8       18        0      active sync   /dev/sdb2
       1       8       34        1      active sync   /dev/sdc2
       4       8       50        2      active sync   /dev/sdd2
       3       8       66        3      active sync   /dev/sde2

删除RAID所有信息方法以及注意事项

如果raid已经挂载,需要先卸载
umount /dev/md5
停止md5
mdadm -S /dev/md5
删除raid配置文件中md5的信息
vim /etc/mdadm.conf
清除物理磁盘中的raid标识
mdadm --zero-superblock /dev/sdb2
清除物理磁盘中的raid标识
mdadm --zero-superblock /dev/sdc2
清除物理磁盘中的raid标识
mdadm --zero-superblock /dev/sdd2
清除物理磁盘中的raid标识
mdadm --zero-superblock /dev/sde2
mdadm -Dvs #查看发现已经没有md5信息

RAID挂载使用

创建好RAID分区,接下来就是格式化文件系统,才可以被使用

格式化并挂载使用
mkfs.xfs -f -d su=256k,sw=3 -r extsize=768k /dev/md5

mkdir /mnt/raid
mount /dev/md5 /mnt/raid/
df -h /mnt/raid/                # 看到我们已经挂载成功了

仿真RAID错误的救援

俗话说“天有不测风云,人有旦夕祸福”,谁也不知道你的磁盘阵列内的设备啥时候会出错,因此了解一下软件磁盘阵列的救援是必须的!下面我们就来模仿一下RAID错误并救援。

[root@centos ~]# cp -a /var/log/ /mnt/raid/   # 先复制一些数据到挂载点
[root@centos ~]# du -sm /mnt/raid/  # 看到里面已经有了数据
48      /mnt/raid/
[root@centos ~]# df -h /mnt/raid/ 
Filesystem      Size  Used Avail Use% Mounted on
/dev/md5        6.0G   80M  6.0G   2% /mnt/raid
[root@centos ~]# mdadm --manage /dev/md5 --fail /dev/sdb2
mdadm: set /dev/sdb2 faulty in /dev/md5  # 显示已经成为了错误的设备
[root@centos ~]# mdadm --manage /dev/md5 --fail /dev/sdc2
mdadm: set /dev/sdc2 faulty in /dev/md5  # 显示已经成为了错误的设备
[root@centos ~]#  mdadm -D /dev/md5
/dev/md5:
          Version : 1.2
    Creation Time : Tue Feb  6 20:09:59 2024
       Raid Level : raid5
       Array Size : 6283264 (5.99 GiB 6.43 GB)
    Used Dev Size : 3141632 (3.00 GiB 3.22 GB)
     Raid Devices : 3
    Total Devices : 4
      Persistence : Superblock is persistent

      Update Time : Tue Feb  6 20:46:26 2024
            State : clean, degraded 
   Active Devices : 2
  Working Devices : 2
   Failed Devices : 2	# 出错两个磁盘
    Spare Devices : 0	这里预备已经变为0,说明已经顶替工作了,这里截得有点慢了,不然还是1

           Layout : left-symmetric
       Chunk Size : 512K

Consistency Policy : resync

             Name : centos:5  (local to host centos)
             UUID : 987c10ed:d82cf746:d4ea1d0a:5fd5b5f1
           Events : 39

   Number   Major   Minor   RaidDevice State
      3       8       66        0      active sync   /dev/sde2		 # 这里可以看到sde2 已经顶替工作了
      -       0        0        1      removed
      4       8       50        2      active sync   /dev/sdd2	
# sdb2 sdc2 死掉了
      0       8       18        -      faulty   /dev/sdb2
      1       8       34        -      faulty   /dev/sdc2

接下来就可以将坏磁盘拔掉,更换新的磁盘了

[root@centos ~]# mdadm --manage /dev/md5 --add /dev/sdb2 # 模拟拔掉旧磁盘
mdadm: Cannot open /dev/sdb2: Device or resource busy
[root@centos ~]# mdadm --manage /dev/md5 --remove /dev/sdb2 # 模拟拔掉旧磁盘
mdadm: hot removed /dev/sdb2 from /dev/md5
[root@centos ~]# mdadm --manage /dev/md5 --remove /dev/sdc2  # 插入新磁盘
mdadm: hot removed /dev/sdc2 from /dev/md5
[root@centos ~]# mdadm --manage /dev/md5 --add /dev/sdc2  # 插入新磁盘
mdadm: added /dev/sdc2
[root@centos ~]# mdadm --manage /dev/md5 --add /dev/sdb2
mdadm: added /dev/sdb2
[root@centos ~]#  mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Tue Feb  6 20:09:59 2024
        Raid Level : raid5
        Array Size : 6283264 (5.99 GiB 6.43 GB)
     Used Dev Size : 3141632 (3.00 GiB 3.22 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Feb  6 20:49:25 2024
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 63% complete #正在进行

              Name : centos:5  (local to host centos)
              UUID : 987c10ed:d82cf746:d4ea1d0a:5fd5b5f1
            Events : 55

    Number   Major   Minor   RaidDevice State
       3       8       66        0      active sync   /dev/sde2
       5       8       34        1      spare rebuilding   /dev/sdc2
       4       8       50        2      active sync   /dev/sdd2

       6       8       18        -      spare   /dev/sdb2 # 我们会发现sdb2、sdc2 已经作为预备磁盘在此等待了
[root@centos ~]#  mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Tue Feb  6 20:09:59 2024
        Raid Level : raid5
        Array Size : 6283264 (5.99 GiB 6.43 GB)
     Used Dev Size : 3141632 (3.00 GiB 3.22 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Tue Feb  6 20:49:31 2024
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync #完成了

              Name : centos:5  (local to host centos)
              UUID : 987c10ed:d82cf746:d4ea1d0a:5fd5b5f1
            Events : 62

    Number   Major   Minor   RaidDevice State
       3       8       66        0      active sync   /dev/sde2
       5       8       34        1      active sync   /dev/sdc2
       4       8       50        2      active sync   /dev/sdd2

       6       8       18        -      spare   /dev/sdb2

设置开机自启动RAID并自动挂载

[root@centos ~]# mdadm --detail /dev/md5 | grep -i uuid
              UUID : 987c10ed:d82cf746:d4ea1d0a:5fd5b5f1
[root@centos ~]# vim /etc/mdadm.conf 
ARRAY /dev/md0 UUID=facfa60d:c92b4ced:3f519b65:d135fd98
              # RAID设备           识别码内容
[root@centos ~]# blkid /dev/md5
/dev/md5: UUID="d53b0097-f5fd-4c49-aaba-1c9f59ff885f" TYPE="xfs" 
[root@centos ~]# vim /etc/fstab 
............................  //  省略部分内容
/dev/md5        /mnt/raid       xfs     defaults        0       0
#开头也可填写为UUID
[root@centos ~]# reboot #重启测试
[hmx@centos ~]$ df -Th /mnt/raid/  # 可以进行重启测试
文件系统       类型  容量  已用  可用 已用% 挂载点
/dev/md5       xfs   6.0G   80M  6.0G    2% /mnt/raid


CentOS的用户和用户组管理

CentOS是一个多用户多任务操作系统,可以在系统上创建多个用户,并允许这些用户同时登陆到系统上执行不同的任务,这将有可能影响到服务器的运行效率和可靠性。
 例如由于单位人员较多(500人左右),如果单一的只创建用户和为用户配置相应的权限将变为非常繁琐的工作并为后期的管理与维护带了较大的麻烦。这时提出了用户组,可以为相同部门的人员配置相同的权限。只需要创建组,把用户加入该组即可,这样大大提高操作和管理效率。
 因此,用户和用户组的管理是技术人员必须了解和掌握的重要工作内容。

用户和用户组的相关概念

(1)理解CentOS多用户,多任务的特性
CentOS是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台CentOS服务器上有4个用户,分别是root、www、ftp和MySQL,在同一时间内,root用户可能在查看系统日志,管理维护系统,www用户可能在修改自己的网页程序,ftp用户可能在上传文件到服务器,mysql用户可能在执行自己的SQL查询,每个用户互不干扰,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作,ftp用户也不能修改www用户的网页程序,因此可知,不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。
(2)CentOS下用户的角色分类
在CentOS下用户是根据角色定义的,具体分为三种角色:
①超级用户 ②普通用户 ③虚拟用户
(3)用户和组的概念
CentOS是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。
每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是CentOS系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。
(4)用户和组的关系:
用户和用户组的对应关系有:一对一、一对多、多对一和多对多;如图所示:
一对一:即一个用户可以存在一个组中也可以是组中的唯一成员。
一对多:即一个用户可以存在多个用户组中。此用户具有多个组的共同权限。
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
多对多:多个用户可以存在多个组中。实就是上面三个对应关系的扩展

CentOS用户和组的信息存储

/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow这四个配置文件用于系统帐号管理,都是文本文件,可用vim等文本编辑器打开。
/etc/passwd用于存放用户帐号信息;
/etc/shadow 用于存放每个用户加密的密码;
/etc/group用于存放用户的组信息;
/etc/gshadow用来存放用户组加密后的密码。
可以用cat命令查看用户账号和密码文件,文件内容较多,可能显示的篇幅较长,可以使用tail(查看末尾几行)命令来查看文件。
tail -6 /etc/passwd

CentOS管理用户命令

  • 用于创建新的用户
    语法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]

    useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]
  • 选项
    -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
    -d<登入目录>  指定用户登入时的起始目录。
    -D  变更预设值.
    -e<有效期限>  指定帐号的有效期限。
    -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
    -g<群组>  指定用户所属的群组。
    -G<群组>  指定用户所属的附加群组。
    -m  制定用户的登入目录。
    -M  不要自动建立用户的登入目录。
    -n  取消建立以用户名称为名的群组.
    -r  建立系统帐号。
    -s   指定用户登入后所使用的shell。
    -u  指定用户ID。
    例如:
    添加一般用户
    useradd tt
    为添加的用户指定相应的用户组
    useradd -g root tt
    创建一个系统用户
useradd -r tt

为新添加的用户指定home目录
useradd -d /home/myd tt
建立用户且制定ID
useradd tt -u 544

也可直接useradd 用户名则创建与用户名同名的用户组

  • 用于修改用户属性
    usermod [选项] 用户名

  • 选项
    -c<备注>  修改用户帐号的备注文字。
    -d<登入目录>  修改用户登入时的目录。
    -e<有效期限>  修改帐号的有效期限。
    -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
    -g<群组>  修改用户所属的群组。
    -G<群组>  修改用户所属的附加群组。
    -l<帐号名称>  修改用户帐号名称。
    -L  锁定用户密码,使密码无效。
    -s  修改用户登入后所使用的shell。
    -u  修改用户ID。
    -U  解除密码锁定。
    例如:
    更改登录目录
    usermod -d /home/hnlinux root
    改变用户的uid
    usermod -u 777 root

  • 用于删除用户
    userdel 用户名

  • 用于修改用户的口令
    passwd 用户名

显示用户信息
id 用户名

CentOS管理组的命令

  • 创建用户组 
    groupadd 组名
    例如:
    添加linux组
    groupadd linux

  • 给用户组添加成员 
    语法:groupmems [参数]
    参数:
    -a : 添加用户为组成员
    -d: 从组成员中删除用户
    -l:列出组群的用户
    -p:从组群中清除所有成员
    例如:
    为用户szl添加组群root
    groupmems -g root -a szl
    列出用户组hmx的所有成员
    groupmems -l -g hmx

  • 修改用户组属性
    语法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
    参数:
    -g <群组识别码>  设置欲使用的群组识别码。
    -o  重复使用群组识别码。
    -n <新群组名称>  设置欲使用的群组名称。
    例如:
    修改组名以及识别码(修改是不能重复识别码)

[root@centos /]# tail /etc/group | grep hmx #查看hmx的识别码以及组名
hmx:x:1000:szl,hmx
[root@centos /]# groupmod -g 6666 -n hmx_1  hmx #修改hmx的识别码及组名
[root@centos /]# tail /etc/group | grep hmx 
hmx_1:x:6666:szl,hmx
  • 删除用户组
    groupdel :
    语法:groupdel 用户组名

删除之前应该先确认组内是否有成员可以用groupmems -l -g 组名,当没有成员时才可删除。也可能出现上述命令没有成员,但还是提醒无法删除的情况,此时应该使用id 提示用户名命令来查询该用户的gid是否在这个组,使用usermod -g 存在的组gid 提示用户名修改之后就好了。或者强制删除group -f 用户组名,不鼓励这样写,因为会有莫名其妙的组和用户的bug,就像上面那个情况。

CentOS管理文件所有者

Linux是多用户多任务操作系统,所有的文件皆有拥有者。
利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以将自己的文件拥有者改为别人。
chown [-cfhvR] [–help] [–version] user[:group] file…

参数:
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
–help : 显示辅助说明
–version : 显示版本

CentOS管理权限

chmod 命令,用于修改文件或目录的访问权限。每一个文件都有文件所有者和所属群组,以及其他人是否有读取(r), 可写(w),执行(x)等权限,可分别用数字4、2、1 表示。
文件的可读、可写、可执行权限可以简写为rwx,也可以使用数字7表示(4+2+1)。
权限设定字符串格式如下:[ugoa…][[±=][rwxX]…][,…] 例如chmod ugo+rwx test
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
参数:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
示例:
chmod u=rwx,g=rx,o=x hello.txt ,将文件权限修改为:rwxr-x–x
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x–x
除此之外,还有快捷写法:chmod 751 hello.txt
将hello.txt的权限修改为751
那么问题来了,751表示什么意思呢?

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有:
0:无任何权限, 即 —
1:仅有x权限, 即 --x
2:仅有w权限 即 -w-
3:有w和x权限 即 -wx
4:仅有r权限 即 r–
5:有r和x权限 即 r-x
6:有r和w权限 即 rw-
7:有全部权限 即 rwx
所以751表示: rwx(7) r-x(5) --x(1)

CentOS用户管理命令的使用

1、创建新用户并设置密码。
创建一个新用户“admin”并为该用户设置密码“123456”。

useradd admin  #创建用户admin
        passwd admin    #为admin设置密码

命令执行后,会提示输入密码以及重新输入确认密码,如果密码过于简答还会提示“过于简单化/系统化”。
用户的信息保存在/etc/passwd下,我们可以通过查看/etc/passwd来确定用户是否创建。
cat /etc/passwd | grep admin

2、CentOS的用户切换:
①实现root用户切换到admin用户。
su - admin

②实现admin用户切换到root用户。
	`su`
命令执行后,会提示输入密码。

普通用户切换root需要密码,root切换普通用户不需要

创建组并将用户添加到组内

(1)创建用户组,设置完成后,我们可以查看下/etc/group文件内容来验证用户创建是否成功。
创建组:groupadd wg
查看组:tail /etc/group
(2)将对用户加入对应的用户组。
groupmems -a admin -g wg
查看组可以看到增加的组成员:
tail /etc/group

CentOS管理员指令-chown

首先我们修改文件1的所有者为用户admin,群组wg

chown admin:wg 1

目录new下包含文件1和2 , 如果我们想要修改整个new目录所有者为admin 所属群组wg,我们就要使用到-R参数。

chown -R admin:wg new

使用chmod命令修改文件 1 访问权限,使所有者,群组,以及其他人都有rwx权限。

chmod  ugo+rwx 1
或者
chmod 777  1

如果我们想要所有人都具有文件2的rwx权限,可以使用:

chmod a+rwx 2
或者  chmod 774 2

我们想要在文件2现有权限的基础上修改文件所有者及所属群组具有rwx权限,而其他人只具有r权限。
chmod ug=rwx,o=wx 2

我们新建一个目录new,并在目录中新建文件1 和 文件2 .如果要修改new目录和目录中的所有文件权限为777,这时我们需要使用 R参数。
chmod -Rf 777 new

创建管理员用户

1.任务要求
为了提高管理效率,创建一个管理用户admin。
2.实施过程
(1)创建管理员用户,如图所示。

useradd admin
passwd admin
chmod u+w /etc/sudoers
vim /etc/sudoers

在sudoers文件的中添加
admin ALL=(ALL) ALL
如图所示。

用户与组项目实施

创建用户
四个用户组,(jsj)、(wl)、(rj)、(sm)
要求:
1、为八名用户;
2、创建管理员用户admin。
3、将1中的用户加入到对应的组里;
4、在home文件夹下为任务2中的四个组分别创建四个文件夹wlfile、rjfile、jsjfile和smfile,每个文件夹中创建一个文本文件;
5、上述四个文件夹权限设置为:非本组用户,其他用户无权查看和修改;
6、修改/etc/sudoers文件,将admin增加为管理员。

操作:
创建四个用户组

[root@centos ~]# groupadd jsj
[root@centos ~]# groupadd wl
[root@centos ~]# groupadd rj
[root@centos ~]# groupadd sm

任务2

[root@centos ~]# useradd admin
[root@centos ~]# passwd admin
New password: #输入两次密码,密码不可见,我输入的是admin
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.

任务1、3合并操作

[root@centos ~]# useradd -g jsj user1
[root@centos ~]# useradd -g jsj user2
[root@centos ~]# useradd -g wl user3
[root@centos ~]# useradd -g wl user4
[root@centos ~]# useradd -g rj user5
[root@centos ~]# useradd -g rj user6
[root@centos ~]# useradd -g sm user7
[root@centos ~]# useradd -g sm user8

任务4、5

[root@centos home]# mkdir wlfile rjfile jsjfile smfile #创建四个文件夹
[root@centos home]# ll
total 4
drwx------.  5 admin  admin   128 Feb  7 16:26 admin
drwx------. 15 hmx    hmx    4096 Feb  6 21:24 hmx
drwxr-xr-x.  2 root   root      6 Feb  7 16:50 jsjfile
drwxr-xr-x.  2 root   root      6 Feb  7 16:50 rjfile
drwxr-xr-x.  2 root   root      6 Feb  7 16:50 smfile
drwx------.  3 admin  admin    78 Feb  7 11:00 szl
drwx------.  5 tomcat tomcat  128 Jan 24 18:22 tomcat
drwx------.  3 user1  jsj      78 Feb  7 16:44 user1
drwx------.  3 user2  jsj      78 Feb  7 16:45 user2
drwx------.  3 user3  wl       78 Feb  7 16:45 user3
drwx------.  3 user4  wl       78 Feb  7 16:45 user4
drwx------.  3 user5  rj       78 Feb  7 16:45 user5
drwx------.  3 user6  rj       78 Feb  7 16:45 user6
drwx------.  3 user7  sm       78 Feb  7 16:45 user7
drwx------.  3 user8  sm       78 Feb  7 16:45 user8
drwxr-xr-x.  2 root   root      6 Feb  7 16:50 wlfile
[root@centos home]# touch jsjfile/jsj.txt wlfile/wl.txt smfile/sm.txt rjfile/rj.txt
#创建四个文件
[root@centos home]# chown -R user1:jsj jsjfile
[root@centos home]# chown -R user3:wl wlfile
[root@centos home]# chown -R user5:rj rjfile
[root@centos home]# chown -R user7:sm smfile#修改文件夹拥有者和组
[root@centos home]# chmod 751 jsjfile #权限修改
[root@centos home]# chmod o=x wlfile
[root@centos home]# chmod o=x rjfile
[root@centos home]# chmod 751 smfile
[root@centos home]# ll
total 4
drwx------.  5 admin  admin   128 Feb  7 16:26 admin
drwx------. 15 hmx    hmx    4096 Feb  6 21:24 hmx
drwxr-x--x.  2 user1  jsj      21 Feb  7 16:51 jsjfile
drwxr-x--x.  2 user5  rj       20 Feb  7 16:51 rjfile
drwxr-x--x.  2 user7  sm       20 Feb  7 16:51 smfile
drwx------.  3 admin  admin    78 Feb  7 11:00 szl
drwx------.  5 tomcat tomcat  128 Jan 24 18:22 tomcat
drwx------.  3 user1  jsj      78 Feb  7 16:44 user1
drwx------.  3 user2  jsj      78 Feb  7 16:45 user2
drwx------.  3 user3  wl       78 Feb  7 16:45 user3
drwx------.  3 user4  wl       78 Feb  7 16:45 user4
drwx------.  3 user5  rj       78 Feb  7 16:45 user5
drwx------.  3 user6  rj       78 Feb  7 16:45 user6
drwx------.  3 user7  sm       78 Feb  7 16:45 user7
drwx------.  3 user8  sm       78 Feb  7 16:45 user8
drwxr-x--x.  2 user3  wl       20 Feb  7 16:51 wlfile


任务6

chmod u+w /etc/sudoers
vim /etc/sudoers

在sudoers文件的中添加
admin ALL=(ALL) ALL
也可以写成
admin ALL=(ALL) ALL NOPASSWD: ALL
#区别在于后者sudo时不需要密码
如图所示。

本文标签: 也可只需要基础软件更新中