一、开机自动挂载
需求1:由于mount挂载后,每次关机都会umount,想让开机自动挂载!
前提:存在已经格式化好了的分区!
策略1:vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0
#分区 挂载点 文件系统 挂载参数 不备份 不校验
#完成的是格式化和挂载
注意:原有的信息不要改变!
策略2:vim /etc/rc.d/rc.local
mount /dev/vdb1 /mnt
思考:二者的区别?
思考:如果挂载错误呢,如何修复呢?
小知识点:如果刚刚修改了etc/fstab,可以通过下面的命令测试一下是否正确
mount -a
特点:将/etc/fstab中尚未挂载的挂载上,通过df判断是否设置成功!
二、swap分区的添加
策略
(1)新建磁盘分区作为swap分区
(2)用文件作为Swap分区
步骤:
(1)fdisk(MBR)划分分区给系统作为内存交换分区,然后改变分区的标识(82)!
注意:id仅仅是标识设备的用途,不是设备的文件系统!
(2)格式化为内存交换分区
(3)使用内存交换分区(默认是不开启的)
(4)观察内存的使用量
相关参数的说明
l list known partition types
t change a partition's system id #82标示swap分区
再次强调:id仅仅是标识设备的用途,不是设备的文件系统!
相关参数的说明
swapon -a /dev/vdb6 -->将该swap设备启动(很重要)!
swapon -a -->将所有的/etc/fstab中标示为swap分区的尚未启动swap分区启动除了noauto参数!
您可以使用swapon命令检查特定分区
swapon -s -->命令查看当前系统上正在使用的交换空间有哪些,结合free查看内存的使用量
等效方式:cat /proc/swaps
需求:设置开机自动挂载
(1)swapoff /dev/vdb6 #先卸载,主要是看是否能自动挂载
(2)swapon -s #查看是否卸载
(2)vim /etc/fstab
/dev/vdb6 swap swap defaults 0 0
测试
注意:这里是swapon -a不是mount -a测试
三、swap分区的删除
步骤
(1)关闭swap分区的使用-->系统不能删除正在使用的分区
swapoff /dev/vdb6
(2)删除/etc/fstab中关于swap的配置文件
(3)fdisk /dev/vdb #删除此swap分区
#########细化的处理############
1 swapon -s
2 swapoff /dev/vdb6
3 vim /etc/fstab
4 fdisk /dev/vdb
5 partprobe
6 cat /proc/partitions
四、磁盘配额
前提:了解indoe和block的含义!
配额:quota
思考:为什么需要磁盘配额?
Linux系统是多用户多任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限,因此系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源。
常见的就是百度云盘、360网盘、QQ邮箱的容量限制!
磁盘配额:是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间。
应用场景
(1)网络服务的设计
针对网站服务器,例如:每个人的网页空间的容量限制(买了域名感触更深)!
针对邮件服务器,例如:每个人的邮件空间限制(QQ邮箱、136邮箱等)!
针对文件服务器,例如:每个人的可用网络硬盘空间(类似百度云)!
(2)对Linux主机的设计
针对"用户"使用的最大磁盘配额,像目前的付费与免费会员制!
针对"用户组"可使用的最大磁盘配额,可以再细化个人进行限制(在用户组指定容量下可以规划组成员的容量)!
针对"个别目录"使用的最大磁盘配额(只针对xfs,可以使用project这种模式)
注意:group和project选项不可同时设置!
使用限制
(1)ext文件系统仅能针对整个文件系统,不能针对单个目录,vfat不支持磁盘配额(了解ext4即可)
(2)内核必须支持磁盘配额(RHEL7默认支持磁盘配额)
(3)只对一般用户身份有效(几乎所有的数据都是root的,没有意义)
(4)若启用Senlinux,并非所有的目录均可以设置磁盘配额(原因:会加强对某些特殊权限的限制!)
配额策略
提示:本文以xfs文件系统作为说明
1)配置然后手动挂载
实验步骤
(1)挂载之前声明磁盘配额(xfs独有的)的功能,其它文件系统(重新挂载来启动磁盘配额的功能)!
挂载之前确定已经正确分区成xfs的文件系统!
mount -o usrquota /dev/vdb7 /mnt
(2)查看是否挂载,并且挂载参数正确,是否开启磁盘配额的功能!
mount | grep vdb7
说明:mount是所有已经生效的的挂载!mount -a (将/etc/fstab中尚未生效的挂载)
(3)由于挂载的时候,仅仅是声明,表明只是具备这个功能,尚未起效,需要开启对用户的磁盘配额的功能!
quotaon -uv /dev/vdb7 #u(user)、v(verbose)
(4)针对某个用户进行磁盘配额的限制(root可以针对任何用户设置,符合实际场景)
edquota -u student /dev/vdb7 #指定文件系统原因:可能有多个文件系统具备磁盘配额的条件!
说明:会进入一个配置文件的编辑模式(注意语法)
(5)测试
相关参数的说明
quotaon -vgu 启动所有的磁盘配额,前提是挂载时候加入了用户组和用户配额的参数;
quotaon user 查看指定用户磁盘配额使用!
Filesystem blocks soft hard inodes soft hard
/dev/vdb2 0 0 51200 0 0 3
配额的文件系统 文件实际的大小 黄线 红线 实际文件个数 黄线 红线
说明:0表示不限制,hard的单位只KB!配置文件的hard和soft用红绿灯来理解!
说明2:blocks(实际大小-->真实存在的) soft(ext4用的) hard(上限)
注意:由于要用dd来创建文件,所以必须开放目录的权限,为了表明是student创建的,可以通过特殊权限位1来说明!
说明:df查看此分区的容量是100M,我明明分了60M,怎么是50M(磁盘配额参数起作用了)!
#错误提示含义
edquota -u student /dev/vdb2
edquota: user /dev/vdb2 does not exist #但是设置成功了!
说明:由于只有一个配额的文件系统,默认就是,容错率特别高!
说明:由于没有加-f 以空格分开,系统会认为是两个用户,而/dev/vdb2并不存在所以会报错!
-f 指定有配额的文件系统,不指定参数默认"所有的"配额的文件系统(f-->filesystem )-->man edquota!
2)开机自动挂载
(1)一定要先卸载
(2)配置开机自动挂载
vim /et/fstab #语法检测
/dev/vdb2 /mnt xfs defaults,usrquota 0 0
(3)测试 mount -a
(4)df |grep /mnt
注意:修改/etc/fstab之后一定要测试,避免无法开机!
说明:针对用户组的类同(注意不管是用户组还是用户都必须在系统中真实存在的)
相关链接
###################################
五、磁盘的加密
传统:密码层在最上面,破解了密码就可以看到文件的内容!
强度:即使破坏了密码,里面的文件系统也被破坏,鱼死网破,最大限度的保护数据的安全性!
理解上:最上层是文件系统层,中间是加密层,底层是数据层,所以造就了下面的流程!
相关概念的理解
LUKS(Linux Unified Key Setup)为Linux硬盘分区加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以如果口令失密,我们可以迅速改变口令而无需重新加密整个硬盘。通过提供一个标准的磁盘上的格式,它不仅方便之间分布的兼容性,而且还提供了多个用户密码的安全管理。必须首先对加密的卷进行解密,才能挂载其中的文件系统。
核心:磁盘加密后在磁盘损坏的同时,其中的数据也会损坏!
常用的参数:luksFormat、open、close、luksAddKey
相关特点
使用cryptsetup工具对分区进行了加密后,这个分区就不再允许直接挂载;LUKS也是一种基于device mapper 机制的加密方案。如果要使用这个分区,必须对这个分区做一个映射,映射到/dev/mapper这个目录里去,我们只能挂载这个映射才能使用,做映射的时候是需要输入解密密码的。
实验步骤
Crypsetup工具加密的特点
1)加密后不能直接挂载
2)加密后硬盘丢失也不用担心数据被盗
3)加密后必须做映射才能挂载
方式1)手动设置的流程图
(1)先加密
(2)打开加密的盒子,此时才能制作文件系统!
(3)制作文件系统
(4)最后挂载,挂载的特点!
说明:close关闭密码层前,必选先umount分区!
需求:如何判断linux操作系统的某个分区是否格式化
测试:fdisk /dev/vdb 分区之后,尚未格式化,;磁盘当前是可以修复的,并不是及时生效的!
partprobe的理解
使用fdisk工具只是将分区信息写入到磁盘,如果需要使用mkfs格式化并使用分区,则需要重新启动系统。partprobe 是一个可以修改kernel中分区表的工具,可以使kernel重新读取分区表而不用重启系统。
信息提示的场景
在Linux中使用fdisk命令进行分区时,有时会遇到“WARNING: Re-reading the partition table failed with
error 16: Device or resource busy.The kernel still uses the old table.
The new table will be used at the next reboot.”这种告警信息。
小现象:删除/etc/fstab开机自动挂载,执行partprobe后又生效!
原理:文件系统的挂载实际记录在/etc/mtab,执行partprobe后,会从此文件读取,只有重启后/etc/mtab才会同步更新/etc/fstab!
方式2)加密磁盘开机自动挂载
原理:自定义解密的密码的配置文件,由于解密设备比较重要,所以该文件设置为600的权限;由于加密的磁盘(文件系统)已经加密了,所以此时就需要映射open,就找加密块设备的配置文件/etc/crypttab来打开此密码层(关联密码配置文件),接着就可以用过/etc/fstab挂载了!
核心:/etc/crypttab内容理解成 open所需的参数!
/etc/crypttab:加密块设备的配置文件!
crypttab:Configuration for encrypted block devices
/etc/crypttab 配置文件的说明
wzj /dev/vdb3 /etc/diskpassd
映射 原型分区 open动作所需的口令
encrypted :加密的
需求:口令忘了怎么办--> luksChangeKey!
#####################
六、磁盘的解密
(1)改变口令
测试
cryptsetup luksRemoveKey /dev/vda8
cryptsetup luksAddKey /dev/vda8 keyfile
cryptsetup open /dev/sdb ceshi_2
实验现象:No key available with this passphrase.
(2)取消磁盘加密
1)vim /etc/fstab #删除刚才编写的内容
2)vim /etc/crypttab #删除所有的(直接>)还是单个的
3)rm -fr /root/diskpass #删除密码文件
4)umount /mnt #卸载
5)cryptsetup clos westos #关闭解密文件(只有卸载才能关闭)
6)mkfs.xfs /dev/vdb1 -f #强制格式化
7)reboot #测试
相关连接1
安全的角度:要解除加密,需要备份分区内的文件再重新格式化LUKS分区!
需求:磁盘加密的密码忘了怎么办?