磁碟管理2(磁碟配額、磁碟加密、磁碟的兩種型別:mbr與gpt)
阿新 • • 發佈:2018-11-21
1.磁碟配額
磁碟配額:針對於裝置
dd命令:
dd if=/dev/zero of=/mnt/studentfile bs=1M count=21
具體引數的含義:
dd #擷取
if #input file 輸入檔案
of #out of file 輸出檔案
/dev/zero #無限零位元組(裝置)
bs #塊的大小(block size)
count #塊的個數
##檢視dd命令幫助
[ [email protected] ~]# man dd
未設定磁碟配額時,擷取多大輸出檔案便有多大,直到將超出記憶體,才會無法擷取;這樣很不合理。
[[email protected] ~]# su - student
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=50
[[email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=51
[ [email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=70
[[email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=100
[[email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ rm -rf /pub/file
[ [email protected] ~]$ exit
logout
設定磁碟配額:
[[email protected] ~]# cat /proc/partitions
##1.格式化
[[email protected] ~]# mkfs.xfs /dev/vdb5
[[email protected] ~]# df
[[email protected] ~]# umount /mnt
[[email protected] ~]# mkfs.xfs /dev/vdb5
[[email protected] ~]# mkfs.xfs /dev/vdb5 -f
[[email protected] ~]# mkdir /pub
##2.掛載
[[email protected] ~]# mount /dev/vdb5 /pub
[[email protected] ~]# df -H
##3.更改許可權;必須是先掛載再更改許可權
[[email protected] ~]# chmod 777 /pub
[[email protected] ~]# ll -d /pub
[[email protected] ~]# mount
##4.以usrquota方式掛載
##必須先解除安裝,再掛載。不能直接remount
[[email protected] ~]# umount /pub
[[email protected] ~]# mount -o usrquota /dev/vdb5
##檢視是否啟用配額引數
[[email protected] ~]# mount
[[email protected] ~]# quotaon /dev/vdb5
##5.設定配額
[[email protected] ~]# cd /pub
[[email protected] pub]# edquota -u student
#################
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb5 0 0 20480 1 0 0
測試:
[[email protected] ~]# su - student
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=10
[[email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=20
[[email protected] ~]$ du -sh /pub/file
[[email protected] ~]$ dd if=/dev/zero of=/pub/file bs=1M count=21
[[email protected] ~]$ du -sh /pub/file
2.磁碟加密
luks加密:檔案系統層在加密層之上 。如果你想要惡意破解密碼,
那麼即使密碼最後被破解,也無法讀取裝置中儲存的資料。這就起到了很好的保護作用
(1)磁碟裝置的加密
[[email protected] ~]# cat /proc/partitions
[[email protected] ~]# df
[[email protected] ~]# umount /pub/
##1.裝置加密
[[email protected] ~]# cryptsetup luksFormat /dev/vdb5
#LUKS表明裝置已經被加密,不能直接掛載
[[email protected] ~]# mount /dev/vdb5 /mnt
mount: unknown filesystem type 'crypto_LUKS'
##2.裝置解密;westos為解密後的虛擬裝置/解密形態(名字任意)
[[email protected] ~]# cryptsetup open /dev/vdb5 westos
Enter passphrase for /dev/vdb5:
#檢視系統中的虛擬裝置
[[email protected] ~]# ll /dev/mapper/
total 0
crw-------. 1 root root 10, 236 Nov 9 19:47 control
lrwxrwxrwx. 1 root root 7 Nov 9 20:28 westos -> ../dm-0
#格式化;必須先格式化,才能掛載
[[email protected] ~]# mkfs.xfs /dev/mapper/westos
#掛載;必須用解密形態掛載
[[email protected] ~]# mount /dev/mapper/westos /mnt
[[email protected] ~]# df
[[email protected] ~]# cd /mnt
[[email protected] mnt]# ls
#建立檔案
[[email protected] mnt]# touch file{1..10}
[[email protected] mnt]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
[[email protected] mnt]# cd
#解除安裝
[[email protected] ~]# umount /mnt
[[email protected] mnt]# cd
[[email protected] ~]# df
[[email protected] ~]# cd /mnt
#此時便無法再檢視到剛建立的檔案
[[email protected] mnt]# ls
##3.關閉解密
[[email protected] ~]# cryptsetup close westos
#此時便無法掛載
[[email protected] ~]# mount /dev/vdb5 /mnt
mount: unknown filesystem type 'crypto_LUKS'
#並且虛擬裝置westos消失
[[email protected] ~]# ll /dev/mapper/
total 0
crw-------. 1 root root 10, 236 Nov 9 19:47 control
直觀感受什麼叫加密:
##擷取;/dev/vdb5裝置已經被加密
[[email protected] ~]# dd if=/dev/vdb5 of=/mnt/file bs=512 count=1
##LUKS表示加密
[[email protected] ~]# hexdump -C /mnt/file
[[email protected] ~]# cat /proc/partitions
##格式化;/dev/vdb1裝置未被加密
[[email protected] ~]# mkfs.xfs /dev/vdb1
##掛載
[[email protected] ~]# mount /dev/vdb1 /opt
[[email protected] ~]# df
[[email protected] ~]# cd /opt/
[[email protected] opt]# ls
[[email protected] opt]# vim file
#################
hello word!
[[email protected] opt]# dd if=/dev/vdb1 of=/mnt/files bs=1M count=1
##在未加密的可裝置中以檢視到剛編寫的檔案的內容
[[email protected] opt]# hexdump -C /mnt/files
[[email protected] ~]# umount /dev/vdb1
(2).加密磁碟開機自動掛載
##1.開機自動掛載
[[email protected] ~]# vim /etc/fstab
###############
/dev/mapper/disk /pub xfs defaults 0 0
裝置名(解密形態) 掛載點 檔案系統型別 掛載引數 不備份 不檢測
##2.開機自動解密,生成虛擬裝置disk
[[email protected] ~]# vim /etc/crypttab
################
disk /dev/vdb5 /root/vdb5pass
解密形態(虛擬裝置:名字任意) 真實裝置 加密檔案(名字任意)
##3.編寫加密檔案,設定密碼;此密碼需要與之前加密磁碟的密碼相同,才能實現解密
[[email protected] ~]# vim /root/vdb5pass
###############
westos111
##密碼檔案一般不允許其他人可見
[[email protected] ~]# chmod 600 /root/vdb5pass
##4.關聯裝置與加密檔案;注意/dev/vdb5裝置必須為加密裝置,加密了的裝置才需要解密
[[email protected] ~]# cryptsetup luksAddKey /dev/vdb5 /root/vdb5pass
Enter any passphrase:
[[email protected] ~]# df
測試:
[[email protected] ~]# reboot
[[email protected] ~]# df
(3).刪除加密磁碟開機自動掛載並永久性解密
##1.刪除剛編寫的所有檔案的內容
[[email protected] ~]# vim /etc/fstab
###############
刪除:/dev/mapper/disk /pub xfs defaults 0 0
[[email protected] ~]# vim /etc/crypttab
###############
刪除:disk /dev/vdb5 /root/vdb5pass
[[email protected] ~]# vim /root/vdb5pass
################
刪除:westos111
[[email protected] ~]# df
##2.解除安裝
[[email protected] ~]# umount /pub
##3.關閉解密態(虛擬裝置)
[[email protected] ~]# cryptsetup close disk
##4.重新格式化;
[[email protected] ~]# mkfs.xfs /dev/vdb5
mkfs.xfs: /dev/vdb5 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.
[[email protected] ~]# mkfs.xfs /dev/vdb5 -f
測試:
##此時/dev/vdb5裝置恢復為非加密裝置,即掛載時便不用再需要解密
[[email protected] ~]# mount /dev/vdb5 /mnt
[[email protected] ~]# df
3.磁碟的兩種型別
mbr #分為主分割槽p(primary共有四個分割槽)和擴充套件分割槽e(expended容器;邏輯分割槽)最多隻能劃分4個主分割槽。
為了儲存更多的資料,所以將第4個分割槽化分為擴充套件分割槽(容器),可將容納不下的資料放到這個擴充套件分割槽中。
在linux中擴充套件分割槽最多劃分16個邏輯分割槽,並且每個不超過2t
gpt #不分主分割槽和擴充套件分割槽,最多可劃分128個分割槽,相對於mbr 分割槽方式來說,
它可以儲存更多的資料,但它的相容性較差。
(1)mbr------>gpt
[[email protected] ~]# cat /proc/partitions
##1.刪除所有分割槽
[[email protected] ~]# fdisk /dev/vdb
[[email protected] ~]# partprobe
[[email protected] ~]# cat /proc/partitions
[[email protected] ~]# fdisk -l
##2.更改磁碟型別為gpt
[[email protected] ~]# parted /dev/vdb
測試:
[[email protected] ~]# fdisk -l
##新增分割槽
[[email protected] ~]# fdisk /dev/vdb
(2) gpt------>mbr
##1.刪除所有分割槽
[[email protected] ~]# fdisk /dev/vdb
##同步分割槽表
[[email protected] ~]# partprobe
[[email protected] ~]# cat /proc/partitions
##2.更改磁碟型別為mbr
[[email protected] ~]# parted /dev/vdb
測試:
[[email protected] ~]# fdisk -l