分区与加密

文件系统创建示例:

fdisk -cu /dev/sda

cat /proc/partitions

major minor  #blocks  name

   7        0    3351190 loop0
   8        0   20971520 sda
   8        1     204800 sda1
   8        2    5120000 sda2
   8        3    1024000 sda3
   8        4       1024 sda4
   8        5     102400 sda5
 253        0    4096000 dm-0
 253        1    1019904 dm-1

partx -d /dev/sda

partx -a /dev/sda

 mkfs.ext4 /dev/sda5

之后提示会在挂载21次后检测,可是我不想叫他检测,怎么办呢?我前边写过一篇文章,就是用到tune2fs命令了。
    tune2fs -i 0 /dev/sda5   #取消时间检测
   
    tune2fs -c -1 /dev/sda5   #关闭强制检查挂载次数限制
    tune2fs -l /dev/sda5

 # blkid /dev/sda5
  /dev/sda5: UUID="cffde973-ab02-4b52-a09c-2a7ee610255c" TYPE="ext4"
# mkdir /test
向/etc/fstab添加一个条目:
UUID="cffde973-ab02-4b52-a09c-2a7ee610255c" /test ext4 defaults 1 2
测试挂载:
# mount /test
删除现有文件系统
1. 通过使用umount /mountpoint卸载文件系统。
2. 在/etc/fstab中删除相应条目。
3. 删除挂载点目录:rmdir /mountpoint

做了个分区,那么我不想存放在这个分区上的内容被其他人看到肿么办?

加密嘛,下面说一说加密那么事。

加密:

LUKS(linux统一密钥设置)是标准的设备加密格式,其可以对分区或卷进行加密。必须先对加密的卷或分区进行解密,才能挂载其中的文件系统,现在我就把刚才创建的那个sda5加密试试吧。

[root@server1 /]# cryptsetup luksFormat /dev/sda5

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

Are you sure? (Type uppercase yes): YES               #注意这里一定要大写的YES
Enter LUKS passphrase:               #设置密码,是不显示的
Verify passphrase:                  #确认一下

[root@server1 /]# cryptsetup luksOpen /dev/sda5 test     #打开加密的分区,形成映射test,test这个名字可以任意。
Enter passphrase for /dev/sda5:

[root@server1 /]# ll /dev/mapper/                                  #查看一下设备信息
total 0
crw-rw----. 1 root root 10, 58 Nov 22  2012 control
lrwxrwxrwx. 1 root root      7 Nov 22 12:55 test -> ../dm-2     #看test映射出来了。
lrwxrwxrwx. 1 root root      7 Nov 22 12:39 vg0-LogVol01 -> ../dm-1
lrwxrwxrwx. 1 root root      7 Nov 22 12:39 vg0-lv0 -> ../dm-0


[root@server1 /]# mkfs.ext4 /dev/mapper/test           #格式化吧,注意了,linux对分区加密,是底层的,在格式化之前加密的。
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25168 inodes, 100352 blocks
5017 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1936 inodes per group
Superblock backups stored on blocks:
 8193, 24577, 40961, 57345, 73729

Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.


[root@server1 /]# mount /dev/mapper/test /mnt/                                   #挂载到/mnt/下
[root@server1 /]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg0-lv0    4031680   2538324   1288556  67% /
tmpfs                   376700       260    376440   1% /dev/shm
/dev/sda1               198337     25770    162327  14% /boot
/dev/mapper/vg0-LogVol01
                       1003864     17780    935092   2% /home
/dev/mapper/test         97167      5646     86504   7% /mnt

[root@server1 /]# cd /mnt/
[root@server1 tmp]# ls
lost+found
[root@server1 tmp]# touch file{1,2,3}
[root@server1 tmp]# ls
file1  file2  file3  lost+found
[root@server1 /]# umount /dev/mapper/test        #这里要卸载了,我写入了数据之后暂时不用了,当然要卸载,防止数据泄露
[root@server1 /]# cryptsetup luksClose test         #luksClose  来关闭分区,
[root@server1 /]# ll /dev/mapper/         #这时在设备目录中已经没有之前的test映射了。
total 0
crw-rw----. 1 root root 10, 58 Nov 22  2012 control
lrwxrwxrwx. 1 root root      7 Nov 22 12:39 vg0-LogVol01 -> ../dm-1
lrwxrwxrwx. 1 root root      7 Nov 22 12:39 vg0-lv0 -> ../dm-0

到此为止,设备加密,写入数据已经完毕,下次再使用的时候怎么办?继续打开就好了

[root@server1 /]# cryptsetup luksOpen /dev/sda5  disk       #注意,这次我的映射名师disk了,不过这不妨碍,前边说过,映射名字随便起。因为这个分区里已经有数据了,所以再使用就直接挂载就行了,可不要又去执行格式化。。。(这种事我身边的确发生过。。)

 

总结

分区:

  fdisk -cu /dev/sda                                                                                                                                                    partx -d /dev/sda     # 刷新一下                                                                                       partx -a /dev/sda       # 添加新分区

分区加密实际上就下边这四条命令:

   cryptsetup luksFormat /dev/sda5
   cryptsetup luksOpen /dev/sda5 test
   mkfs.ext4 /dev/mapper/test 
   mount /dev/mapper/test /tmp/

 

永久挂载加密的分区
1) /etc/crypttab包含要在系统启动期间解锁的设备列表。
name¹ /dev/vdaN² /path/to/password/file³
/etc/crypttab 在每一行列出一个设备,使用空格分隔字段:
1 命令将用于设备的设备映射程序
2 基础“已锁定”设备
3 用于解锁设备的密码文件。如果该字段留空(或设置为none),在启动期间,系统
将提示用户输入解密密码
2) 在/etc/fstab中创建类似于以下内容的条目:
/dev/mapper/name /secret ext4 defaults 1 2
3) 创建包括密码的密钥文件。确保文件归root所有并且模式为600.使用以下命
令添加LUKS的密钥。
# cryptsetup luksAddKey /dev/vdaN /path/to/password/file

示例:

vi /etc/crypttab                                                                          test  /dev/vda5  /root/passwd 

 vi /etc/fstab                                                                       /dev/mapper/test  /secret  ext4  defaults   1 2

#echo  sunshine > /root/passwd                                                                                #chrown root /root/passwd                                                                    #chmod 600 /root/passwd                                                                   #cryptsetup luksAddkey /dev/sda5 /root/passwd                                                       nter any passphrase:

重启,搞定

posted @ 2012-11-22 13:33  我想叫晴朗  阅读(755)  评论(0编辑  收藏  举报