Linux下swap分区管理和磁盘加密
1.swap分区管理
-1-swap分区建立
划分分区并设定分区标签为82
mkswap /dev/vdb6
swapon -a /dev/vdb6
swapon -s
vim /etc/fstab
/dev/vdb6 swap swap defaults 0 0
-2-swap分区删除
vim /etc/fstab
swapoff /dev/vdb6
swapon -s
具体举例1(swap分区建立):
<1>划分分区
[[email protected]_server ~]# swapon -s ##扫描分区
[[email protected]_server ~]# fdisk /dev/vdb ##划分一个分区
Command (m for help): n
<2>查看分区表
Command (m for help): p
<3>将分区标签设置为82(即更改分区类型)
Command (m for help): t ##更改
Partition number (1-6, default 6): 6 ##更改的分区为6
Hex code (type L to list all codes): l ##列出所有的类型
Hex code (type L to list all codes): 82
<4>再次查看分区表,会发现/dev/vdb6的信息发生了改变
Command (m for help): p
<5>会发现如果保存退出,会出现报错
Command (m for help): wq
<6>格式化分区
[[email protected]_server ~]# partprobe ##同步分区表
[[email protected]_server ~]# ls -l /dev/vdb6
[[email protected]_server ~]# mkswap /dev/vdb6 ##格式化/dev/ddb6
[[email protected]_server ~]# blkid ##可以查看到系统中可使用的/dev/vdb6设备
[[email protected]_server ~]# swapon -s ##扫描分区,发现没有建立
[[email protected]_server ~]# swapon -a /dev/vdb6 ##**新建的swap分区
[[email protected]_server ~]# swapon -s ##**后可以扫描到
<7>编辑文件,永久设定
[[email protected]_server ~]# vim /etc/fstab ##进入文件中进行更改
更改的内容如下
/dev/vdb6 swap swap defaults 0 0
[[email protected]_server ~]# exit ##退出当前用户
[[email protected] Desktop]$ ssh [email protected] ##连接至ip为172.25.254.123的主机上
[email protected]'s password:
[[email protected]_server ~]# swapon -s ##再次扫描,发现可以扫描到设备/dev/vdb6
在shell中输入的命令如下:
在文件中更改的配置内容如下:
具体举例2(swap分区删除):
<1>删除swap分区,发现并没有删除
[[email protected]_server ~]# swapoff /dev/vdb6 ##删除分区
[[email protected]_server ~]# swapon -s ##扫描分区
[[email protected]_server ~]# fdisk -l ##查看磁盘分区信息
<2>删除/dev/dvb6分区
[[email protected]_server ~]# fdisk /dev/vdb6
Command (m for help): q
[[email protected]_server ~]# fdisk /dev/vdb
Command (m for help): d
Partition number (1-6, default 6): 6
Command (m for help): wq
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 or after you run partprobe(8) or kpartx(8)
Syncing disks. ##若出现此报错,说明要同步分区表,否则不需要
[[email protected]_server ~]# partprobe ##同步分区表
<3>再次查看磁盘分区信息,会发现swap分区不再存在
[[email protected]_server ~]# fdisk -l
2.配额
<1>新建一个目录,并将设备挂载至目录中
[[email protected]_server ~]# mkdir /pub
[[email protected]_server ~]# mount -o usrquota /dev/vdb5 /pub
[[email protected]_server ~]# ls -ld /pub
[[email protected]_server ~]# edquota -u student /dev/vdb5
<2>切换到student用户后,占用/pub目录下的空间,当占用的容量过大时会出现报错,同时查看/pub下的使用百分比
[[email protected]_server ~]# su - student ##切换到student用户
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=120 ##设置大小为120M,发现超出了配额,会报错
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=21 ##设置大小为21M,在配额内,不会报错
[[email protected]_server ~]$ df -H
<3>多次占用/pub下的容量,直到/pub目录被完全占满
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=74
[[email protected]_server ~]$ df -H
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=102
[[email protected]_server ~]$ df -H
<4>退出student用户并删除/pub目录下的所有内容,查看挂载状态,发现没有用户配额
[[email protected]_server ~]# rm -rf /pub/*
[[email protected]_server ~]# mount
<5>卸载/pub,加入用户配额后再次挂载
[[email protected]_server ~]# umount /pub
[[email protected]_server ~]# mount -o usrquota /dev/vdb5 /pub
[[email protected]_server ~]# edquota -u student /dev/vdb5
将文件中的hard硬件设为20480k(即20M)
命令如下:
<6>切换到student用户,发现在/pub目录下占用20M可以成功,占用21M无法成功,因为给用户的配额只有20M
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=20
[[email protected]_server ~]$ dd if=/dev/zero of=/pub/studentfile bs=1M count=21
注意:
-1-必须先挂载才能改权限,挂载时**用户配额
-2-blocks的大小由系统统计,block是会自动还原的,设置了没有用
-3-soft指用户在设备上一共有多少个软件
-4-hard指硬限,单位为k
-5-inodes指用户在设备上的文件个数
-6-个数的阮限和硬限配额是针对设备的,只在设置过的配额设备生效
-7-用户在没有设置配额的设备上写入时不会受限额的影响
-8-配额是更改目录的权限后,要在挂载之后再更改权限
别人不能删除不属于自己的文件
3.磁盘加密
(1)磁盘加密并解密
<1>查看系统中正在挂载的设备中是否有/pub,在/pub目录下新建10个文件
[[email protected]_server ~]# df
[[email protected]_server ~]# ls /pub
[[email protected]_server ~]# touch /pub/file{1..10}
[[email protected]_server ~]# ls /pub
<2>给设备加密(一定要输入大写的YES)
[[email protected]_server ~]# cryptsetup luksFormat /dev/vdb5
Are you sure? (Type uppercase yes): YES ##一定要输入大写的YES
Enter passphrase: ##密码没有回显
Verify passphrase:
<3>查看可用设备/dev/vdb5中显示被加密
[[email protected]_server ~]# blkid
<4>试图将设备挂载至/pub目录下,发现无法挂载
[[email protected]_server ~]# mount /dev/vdb5 /pub
<5>打开加密设备之前与之后查看/dev/mapper目录下的变化
[[email protected]_server ~]# ls -l /dev/mapper ##只有一个文件
[[email protected]_server ~]# cryptsetup open /dev/vdb5 hello ##打开时给其一个代号为hello
Enter passphrase for /dev/vdb5:
[[email protected]_server ~]# ls -l /dev/mapper ##查看时会发现包括其中刚刚解密的hello
<6>将其设备成功进行挂载
[[email protected]_server ~]# mkfs.xfs /dev/mapper/hello ##初始化刚刚解密的设备/dev/mapper/hello
[[email protected]_server ~]# df ##查看正在挂载的设备
[[email protected]_server ~]# mount /dev/mapper/hello /pub ##将此设备挂载至/pub
[[email protected]_server ~]# df ##再次查看正在挂载的设备发现已经成功挂载
<7>目录中加密前的文件被覆盖
[[email protected]_server ~]# ls /pub ##查看/pub目录下会发现加密前的文件已经被覆盖
[[email protected]_server ~]# touch /pub/test
[[email protected]_server ~]# vim /pub/test
[[email protected]_server ~]# cat /pub/test
[[email protected]_server ~]# cryptsetup close hello ##关闭加密设备
[[email protected]_server ~]# ls -l /dev/mapper ##查看/dev/mapper下的状态
<8>进行解密后,新的代号可发生改变,输入设定的密码,而且查看/pub目录下文件的内容会发现和解密时写入的一致,说明代号不会改变解密后设备的内容
[[email protected]_server ~]# cryptsetup open /dev/vdb5 haha
Enter passphrase for /dev/vdb5:
<9>卸载设备,再次查看目录下的文件,发现是加密前的文件
[[email protected]_server ~]# mount /dev/mapper/haha /pub
[[email protected]_server ~]# cat /pub/test
[[email protected]_server ~]# umount /pub
[[email protected]_server ~]# df
(2)加密磁盘的开机自动挂载
加密过的文件开机启动时会开不了,可以在系统中将设备密码写入一个文件中,设置加密磁盘开机自动挂载
<1>进入开机启动文件配置
[[email protected]_server ~]# vim /etc/fstab
写入以下内容:
/dev/mapper/hello /pub xfs dafaults 0 0
<2>建立任意文件并写入设定的密码
[[email protected]_server ~]# vim /root/disk_passwd
[[email protected]_ssh ~]# chmod 600 /root/disk_passwd ##设置权限
<3>给加密设备加钥匙
[[email protected]_server ~]# cryptsetup luksAddKey /dev/vdb5 /root/disk_passwd
Enter any passphrase:
<4>进入配置文件
[[email protected]_server ~]# vim /etc/crypttab
写入以下内容
hello /dev/vdb5 /root/disk_passwd
<5>重启之后使用df命令进行查看,发现加密设备被自动挂载
(3)删除分区的加密和开机自动挂载
<1>将自动挂载中的三个文件中的内容均删除
[[email protected]_server ~]# vim /etc/fstab
<2>卸载掉/pub
[[email protected]_server ~]# df
[[email protected]_server ~]# umount /pub
<3>关闭加密形态
[[email protected]_server ~]# cryptsetup close hello
<4>初始化设备,若一次不成功,强制既可
[[email protected]_server ~]# mkfs.xfs /dev/vdb5
[[email protected]_server ~]# mkfs.xfs /dev/vdb5 -f
<5>查看/dev/vdb5是否还有加密形式
[[email protected]_server ~]# blkid
(苦海无涯,回头是我啊)