加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux磁盘管理、磁盘加密

发布时间:2022-10-22 11:27:15 所属栏目:Linux 来源:
导读:  磁盘管理

  硬盘 sda 硬盘安装了操作系统 gpt

  mbr : 需要占用硬盘的前512个字节 446字节是主引导信息 64个字节分区表 2字节存储 结尾信息 。最多4个主分区 特殊的分区扩展分区 可以分区出多个 逻
  磁盘管理
 
  硬盘 sda 硬盘安装了操作系统 gpt
 
  mbr : 需要占用硬盘的前512个字节 446字节是主引导信息 64个字节分区表 2字节存储 结尾信息 。最多4个主分区 特殊的分区扩展分区 可以分区出多个 逻辑分区
 
  gpt :支持的主分区数量 自己定义 2T
 
  建立分区
 
  关闭虚拟机,再添加一块新硬盘再开机
 
  parted /dev/sdb 进行分区
 
  分区的过程
 
  先要指定分区表类型 gpt
 
  parted /dev/sdb -s mklabel gpt 指定分表类型为gpt分区 要求分5个分区 200M
 
  parted /dev/sdb -s mkpart primary 1 200
 
  parted /dev/sdb -s mkpart primary 201 400查看分区信息
 
  print 列出当前分区表
 
  quit 退出工具
 
  rm 数字 删除指定分区
 
  确认分区 cat /proc/partitions 建立文件系统格式化 ext4 文件系统 存储数据fat32 支持swap 系统 交换分区 (虚拟内存) 分区大小要求为内存的1.5倍。8G 以上物理内存 swap不要给超过8G。
 
  挂载:进入分区需要与目录进行连接,进入目录才是进入分区
 
  要求:sdb1建立ext4文件系统 , sdb2 fat32 , sdb3 swap
 
  mkdir /mnt/ext4 //创建用于挂载的目录
 
  mkfs.ext4 -b 1024 /dev/sdb1 //将sdb1格式化成ext4格式
 
  mount /dev/sdb1 /mnt/ext4 //将sdb1挂载到/mnt/ext4目录
 
  mkdir /mnt/fat32
 
  mkfs.vfat -F32 /dev/sdb2
 
  mount /dev/sdb2 /mnt/fat32
 
  mkswap /dev/sdb3
 
  swapon /dev/sdb3
 
  cat /proc/partitions 查看分区情况
 
  df -Th 观察文件系统利用率,可查看格式化挂载情况
 
  free -m 观察内存使用情况
 
  umount 卸载
 
  swapoff 卸载
 
  以上的所有挂载操作 都是临时的 重启后失效
 
  若要长期生效,则要修改文件系统的挂载列表 /etc/fstab (file system table)
 
  挂载使用UUID编号进行设备指定挂载
 
  blkid /dev/sdb1 >> /tmp/xxx.txt 将命令的结果输出到文件中。
 
  vim /etc/fstab然后再命令模式下
 
  :r ! blkid /dev/sdb1 将后面命令的输出结果追加到文件的最后一行。再使用 ctrl+v 进行区域选择,进行剪切粘贴。感叹号代表强制
 
  为什么要用UUID编号进行设备挂载?
 
  由于/dev/sdb 对硬盘不具有唯一性,实际应用中,当多个硬盘被拔出再插入再重新插入磁盘时,若顺序变化时,原先的/dev/sdb可能变成/dev/sdc,容易造成错误。
 
  UUID具有唯一性,可用 blkid /dev/sdb1 其唯一的UUID
 
  逻辑卷可直接用设备码而不需要用UUID
 
  除非给逻辑卷改名字,否则逻辑卷的盘符都是确定的,不会随着拔插发生变化,具有身份辨识度。
 
  磁盘管理练习: /tmp/test.txt 和目录 /tmp/test。 要求设定权限,文件的所属者为allen文件只有allen可读无其他权限,/tmp/test目录所属组为bob,要求改组中成员可以进入,其他用户不可以进入。
 
   chown allen  /tmp/test.txt
   chmod  u=r,go=--- /tmp/test.txt
   chmod  400
   chgrp  bob  /tmp/test
   chmod  u=rwx,g=rwx,o=--- /tmp/test
   chmod  770
  对/dev/sdb进行分区。指定使用gpt分区表Linux 磁盘管理,分一个大小为200M的主分区。
 
  parted /dev/sdb -s mklabl gpt
 
  parted /dev/sdb -s mkpart primary 1 200对sdb1建立文件系统ext4并将其永久挂载到/mnt/ext4目录中。
 
  mkdir /mnt/ext4
 
  mkfs.ext4 -b 1024 /dev/sdb1
 
  mount /dev/sdb1 /mnt/ext4
 
  blkid /dev/sdb1
 
  vim /etc/fstab
 
  UUID=xxxx /mnt/ext4 ext4 defaults 0 0在/tmp目录下建立一个名为class的目录,并设定该目录权限为所有人可读写可进入。
 
  chmod a=rwx /tmp/class
 
  chmod 777 /tmp/class要求设定class目录的属主为自己同名用户,属组为class2。并使用自己名字的用户在其中建立一个名为test.txt的文件
 
  chown allen /tmp/class 修改所属者
 
  chgrp class2 /tmp/class 修改所属组设定test.txt文件的权限为只有自己同名用户可读写,其他人无任何权限。
 
  chmod u=rw,go=— /tmp/class/allen.txt
 
  chmod 600 /tmp/class/allen.txt验证其他用户可不可以删除allen.txt要求为vim命令字设定suid,同名用户通过vim命令删除root用户密码管理员在/下建立一个名为centos的目录并赋予建立权限。要求自己同名的用户在该目录创建的文件继承该目录的属组。要求修改该/centos目录权限,目录中的文件只有建立的人才能删除。
 
  作业:
 
  1.为虚拟机添加1块大小为20G的硬盘sdb,将该硬盘划分3个主分区分别为100M。
 
  2.将sdb1格式化为ext4文件系统并建立挂载点挂载到/mnt/ext4dir目录
 
  3.将sdb2格式化为fat32文件系统并建立挂载点挂载到/mnt/fat32dir目录
 
  4.将sdb3格式化为swap文件系统并挂载
 
  5.以上分区使用UUID实现永久性挂载
 
  6.要求为vim命令字设定suid,同名用户通过vim命令删除root用户密码
 
  7.要求修改该/centos目录权限,目录中的文件只有建立的人才能删除。
 
  8.在/tmp目录下建立一个名为class的目录,并设定该目录权限为所有人可读写可进入。(用两种赋权法)
 
  磁盘加密
 
  关闭映射文件前要先卸载
 
  加密的技术 是不能建立在文件系统之上的
 
  准备一个200M 的一个空白分区
 
  parted /dev/sdb -s mkpart primary 801 1000 ---- 如果之前建立过分区表重新建立分区需要刷新分区表,reboot对sdb4进行加密处理
 
  cryptsetup luksFormat /dev/sdb4 —加密格式处理
 
  提示大写YES密码确认 6位需要将加密后的sdb4分区进行映射,映射成为一个新的设备文件,可以建立文件系统。
 
  cryptsetup luksOpen /dev/sdb4 jiamidisk
 
  映射的设备文件会存放在 /dev/mapper/ 取名为jiamidisk,则映射的设备文件路径为/dev/mapper/jiamidisk
 
  需要确认密码才允许映射
 
  为什么要映射?
 
  因为设备分区不支持挂载,若对已经加密过的分区再格式化则没有意义,因此需要映射成一个新的设备文件,再格式化。建立文件系统并使用。
 
  mkdir /mnt/sdisk
 
  mkfs.ext4 -b 1024 /dev/mapper/jiamidisk
 
  mount /dev/mapper/jiamidisk /mnt/sdisk关闭映射文件。
 
  先卸载设备 umount /dev/mapper/jiamidisk
 
  cryptsetup luksClose jiamidisk启用
 
  cryptsetup luksOpen /dev/sdb4 sundisk (千万不要格式化)
 
  密码确认
 
  mount挂载使用即可
 
  加密分区的问题与处理
 
  1.永久挂载问题 映射的设备没了 fstab文件写了 不挂在设备。
 
  vim /etc/crypttab
 
  第一列 映射名称 第二列 设备名称
 
  sundisk /dev/sdb4
 
  2.启动时候提供设备密码即可。
 
  对映射分区进行key文件形式的永久挂载:使用key文件作为 加密验证的密码
 
  1.建立一个文件使他成为验证加密磁盘的密码
 
  dd if=/dev/random of=/root/keyfile bs=4096 count=1 建立一个内容为随机的key文件
 
  2.将key文件和加密设备做关联
 
  vim /etc/crypttab //解决重启的过程中没人做luksOpen的 步骤
 
  sundisk /dev/sdb4 /root/keyfile
 
  cryptsetup luksAddKey /dev/sdb4 /root/keyfile
 
  密码确认
 
  重启验证 不需要我输入密码 即可挂载加密设备。
 
  练习
 
  如何对一个分区/dev/sdb5进行crypt加密处理?并映射名字为kaso临时挂载到/mnt/kaso目录中。
 
  cryptsetup luksFormat /dev/sdb5
 
  YES
 
  cryptsetup luksOpen /dev/sdb5 kaso
 
  确认密码
 
  mkfs.ext4 /dev/mapper/kaso
 
  mount /dev/mapper/kaso /mnt/kaso
 
  如何对已经kaso这个映射分区进行key形式的永久挂载
 
  dd if=/dev/random of=/root/keyfile bs=4096 count=1
 
  vim /etc/fstab
 
  /dev/mapper/kaso /mnt/kaso ext4 defaults 0 0
 
  cryptsetup luksAddKey /dev/sdb5 /root/keyfile 确认密码
 
  vim /etc/crypttab
 
  blkid /dev/sdb5
 
  kaso UUID=xxxxx /root/keyfile
 

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!