继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

linux——管理系统设备之磁盘的加密、加密磁盘的挂载及磁盘阵列、配额

慕斯王
关注TA
已关注
手记 342
粉丝 110
获赞 512

一、磁盘加密

1.磁盘加密

命令祥解:

[root@localhost ~]# cryptsetup luksFormat /dev/vdb1  ##对设备/dev/vdb1进行加密

WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.

Are you sure? (Type uppercase yes): yes    ##小写的yes,直接退出,无效
[root@localhost ~]# cryptsetup luksFormat /dev/vdb1

WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.

Are you sure? (Type uppercase yes): YES   ##大写的YES,确认并添加加密密码
Enter passphrase:
Verify passphrase:
[root@localhost ~]# mount /dev/vdb1 /mnt/   ##挂载设备/dev/vdb1
mount: unknown filesystem type 'crypto_LUKS'   ##挂载失败,设备已被加密
[root@localhost ~]# ls /dev/mapper/    ##查看/dev/mapper/目录
control
[root@localhost ~]# cryptsetup open /dev/vdb1 butterfly    ##对设备解密
Enter passphrase for /dev/vdb1:             ##需手动输入密码
[root@localhost ~]# ls /dev/mapper/
butterfly  control
[root@localhost ~]# mkfs.xfs /dev/mapper/butterfly   ##将解密后生成的设备butterfly格式化

[root@localhost ~]# mount /dev/mapper/butterfly /mnt/    ##挂载设备butterfly
[root@localhost ~]# touch /mnt/tutu{1..3}   ##对设备进行读写操作
[root@localhost ~]# ls /mnt/
tutu1  tutu2  tutu3
[root@localhost ~]# umount /mnt/   ##卸载设备
[root@localhost ~]# ls /mnt/
[root@localhost ~]# cryptsetup close butterfly    ##将设备butterfly关闭
[root@localhost ~]# ll /dev/mapper/
total 0
crw-------. 1 root root 10, 236 May  2 06:23 control
[root@localhost ~]# mount /dev/mapper/butterfly /mnt/
mount: special device /dev/mapper/butterfly does not exist
[root@localhost ~]# mount /dev/vdb1 /mnt/
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost ~]# cryptsetup open /dev/vdb1 butterfly
Enter passphrase for /dev/vdb1:
[root@localhost ~]# mount /dev/vdb1 /mnt/
mount: unknown filesystem type 'crypto_LUKS'
[root@localhost ~]# mount /dev/mapper/butterfly /mnt/
[root@localhost ~]# df
[root@localhost ~]#

磁盘加密,就像把设备放在一个有盖子的容器中,命令cryptsetup open /dev/vdb1 butterfly 就是打开盖子,将设备拿出来,进行一系列操作后,再用命令cryptsetup close butterfly 将设备放回容器中并盖上盖子。这样,可以提高安全性能。

图解:


2.加密磁盘的永久挂载

[root@localhost ~]# vim /root/diskpass    ##加密字符存放处
[root@localhost ~]# chmod 600 /root/diskpass   ##给该文件加权限
[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/diskpass    ##将密码文件做成容器的"盖子"
Enter any passphrase:
[root@localhost ~]# vim /etc/crypttab     ##设置设备解密后的管理文件
[root@localhost ~]# vim /etc/fstab   ##永久挂载设置
[root@localhost ~]# df

[root@localhost ~]# umount /mnt/
[root@localhost ~]# reboot
[root@localhost ~]# df

[root@localhost ~]#

编写的三份文件的内容:

[root@localhost ~]# cat /root/diskpass
147westos
[root@localhost ~]# cat /etc/crypttab
butterfly        /dev/vdb1        /root/diskpass 
解密后设备管理文件      设备    加密字符存放文件
[root@localhost ~]# cat /etc/fstab | tail -n 2
UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1   ##文件本身存在
/dev/mapper/butterfly  /mnt  xfs  defaults  0 0  ##编写内容
[root@localhost ~]#

3.加密清除


[root@localhost ~]# vim /etc/fstab
[root@localhost ~]# > /etc/crypttab
[root@localhost ~]# rm -fr /root/diskpass
[root@localhost ~]# umount /mnt/
[root@localhost ~]# cryptsetup close butterfly
[root@localhost ~]# mkfs.xfs /dev/vdb1
mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May  7 01:22:57 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 /                       xfs     defaults        1 1
[root@localhost ~]#

 4.磁盘阵列

1.建立三个新分区用t改换为fd类型分区

fdisk   /dev/vdb

 


mdadm  -C   /dev/md0  -a  yes  -l  1  -n  2  -x  1  /dev/vdb{1..3}

##-C表示进入创建模式 、-l级别、-a yes ,查看是否有设备文件,如果没有自动为其创建,-n 启用设备数,-x 闲置设备数

watch -n 1 cat /proc/mdstat


mkfs.xfs  /dev/md0

mount /dev/md0  /mnt/


 mdadm -D /dev/md0                  #查看状态信息

 

mdadm -f /dev/md0  /dev/vdb1      #强制损坏

mdadm -D /dev/md0

mdadm -r /dev/md0  /dev/vdb1      #删除

mdadm -D /dev/md0

mdadm -a /dev/md0 /dev/vdb1        #重新加入


mdadm -D /dev/md0

umount /mnt/

mdadm  -S  /dev/md0                #停止阵列

5.配额

只针对设备,不针对用户

配额会较为平均的分配

mount -o usrquota /dev/vdb1 /mnt   ##加载配额,针对xfs类型的设备

quotaon -uv /dev/vdb1    ##激活配额,-u检测用户,-v显示设备,针对ext的设备

xfs——一个64位的文件系统,最大支持8EB减1字节的单个文件系统

ext4——第四代扩展文件系统(Fourth EXtended filesystem),文件系统容量达到1EB,文件容量则达到16TB

edquota -u student  ##编辑指定用户的磁盘配额

Filesystem ##表示本行配置记录对应的文件系统(分区),即配额的作用范围

blocks ##表示一个事实,用户当前已使用的磁盘空间容量,默认单位为KB

soft ##第三列的soft表示对应磁盘容量的软限制数值,默认单位为KB;第六列的soft表示对应文件数量的软限制数值,默认单位为个

hard ##第四列的hard表示对应磁盘容量的硬限制数值,默认单位为KB;第六列的hard表示对应文件数量的硬限制数值,默认单位为个

inodes ##表示已有文件数量多少

指定用户中的操作:

dd if=/dev/zero of=/mnt/studentfile bs=1M count=1 ##截取命令

从无限零设备/dev/zero中截取数据到/mnt/studentfile, bs=1M(一块的大小)  count=1(块数)

quota  ##显示磁盘使用情况和限额,-u 只显示用户限额

练习+解释说明

  • 建立一个dos类型,大小为100M的主分区(设备/dev/vdb1)

  • fdisk -l 查看当前分区属性

  • 将设备/dev/vdb1格式化,-f,强制

  • 加载类型为xfs的设备/dev/vdb1的配额,并挂载在/mnt上

  • 给/mnt赋予权限777

  • 编辑用户student的磁盘配额

  • 切换到student用户

  • 从无限零设备/dev/zero中截取数据到/mnt/studentfile, bs=1M  count=10,无报错

  • 从无限零设备/dev/zero中截取数据到/mnt/studentfile, bs=1M  count=20,无报错

  • 从无限零设备/dev/zero中截取数据到/mnt/studentfile, bs=1M  count=21,出现报错,原因此分配不均

报错如下:
dd: error writing ‘/mnt/studentfile’: Disk quota exceeded
21+0 records in
21+0 records out
20971520 bytes (21 MB) copied, 0.306071 s, 68.5MB/s

##显示是21+0 records in和21+0 records out,但实际上只分配到了20M



开机自动挂载设置  vim /etc/fstab

原文出处

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP