วิธีการระบุ LVM-over-LUKS หรือ LUKS-over-LVM


14

ฉันเพิ่งติดตั้ง Fedora 20 ฉันไม่จำตัวเลือกที่แน่นอนที่ฉันเลือกสำหรับเข้ารหัสดิสก์ / LVM ระหว่างการติดตั้ง มันติดตั้งได้ดีและฉันสามารถเข้าสู่ระบบ ฯลฯ นี่คือสถานการณ์ที่ฉันมี:

ฉันบูตด้วย LiveCD และลองทำสิ่งต่อไปนี้: (ฉันได้ติดตั้งพาร์ติชั่น Fedora20 ไปยัง / dev / sda3 ')

  1. หากฉันเรียกใช้cryptsetup open /dev/sda3 fedoฉันพบข้อผิดพลาดว่าไม่ใช่อุปกรณ์ LUKS
  2. II รันcryptsetup luksDump /dev/sda3ฉันได้รับข้อผิดพลาดว่าไม่ใช่อุปกรณ์ LUKS
  3. ถ้าฉันเรียกใช้cryptsetup open --type plain /dev/sda3 fedoมันจะถามรหัสผ่านและจะเปิดอุปกรณ์ให้ดี

ดังนั้นแน่นอนว่าเป็นพาร์ติชันเข้ารหัสข้อความล้วน (ไม่มีส่วนหัว LUKS)

ตอนนี้เมื่อฉันพยายามที่จะเรียกมันบอกว่าmount /dev/mapper/fedo /mnt/fedoraunknown crypto_LUKS filesystem

ฉันจะมี LVM ด้านบนของมันดังนั้นฉันสามารถเรียกใช้pvdisplay, vgdisplay, lvdisplayและมันแสดงให้เห็นข้อมูล ฉันมี VG ชื่อหนึ่งfedoraและสอง LVs, viz 00 สำหรับ swap partition และ 01 for / partition

ตอนนี้ถ้าฉันทำcryptsetup luksDump /dev/fedora/01ฉันสามารถเห็นส่วนหัวของ LUKS เป็นต้นและฉันสามารถเมานต์ได้โดยวิ่งmount /dev/fedora/00 /mnt/fedoraไม่มีรหัสผ่านแจ้ง

ดังนั้นฉันจะมีพาร์ติชันเข้ารหัสลับ LUKS-over-LVM-over- (ข้อความธรรมดา) หรือไม่

นี่คือผลลัพธ์ของฉันlsblk:

# lsblk
ชื่อ MAJ: MOUNTPOINT ประเภทขั้นต่ำของ RM RM
sda 8: 0 0 37.3G 0 ดิสก์
| -sda3 8: 3 0 17.4G 0 ส่วนหนึ่ง
  | -fedora-00 253: 0 0 2.5G 0 lvm
  | | -luks-XXXXX 253: 3 0 2.5G 0 crypt [SWAP]
  | -fedora-01 253: 1 0 15G 0 lvm
    | -luks-XXXXX 253: 2 0 15G 0 crypt /

ดังนั้นคำถามคือจะรู้ได้อย่างไรว่าฉันมีLVM-over-LUKSหรือLUKS-over-LVMหรือชุดค่าผสมอื่น ๆ ( LUKS บน LVM มากกว่า LUKSเป็นต้น) เพื่อให้คำถามของฉันชัดเจนฉันรู้ว่าฉันมี LVM และ LUKS ฉันต้องการทราบลำดับของพวกเขา

คำตอบ:


14

cryptsetup luksDump /dev/fedora/01แสดงโลจิคัลวอลุ่ม LVM ให้เป็นโวลุ่มที่เข้ารหัส LUKS ผลลัพธ์ของpvsหรือpvdisplayจะแสดงพาร์ติชัน/dev/sda3ให้เป็นฟิสิคัลวอลุ่ม ดังนั้นคุณมี LUKS มากกว่า LVM ในระดับที่ต่ำกว่าคุณมี LVM ผ่านพาร์ติชัน PC

เอาต์พุตของการlsblkยืนยันสิ่งนี้: sdaเป็นดิสก์sda3เป็นพาร์ติชัน (ซึ่งมีฟิสิคัลวอลุ่มLVM) fedora-00และfedora-01เป็นโลจิคัลวอลุ่มและแต่ละโลจิคัลวอลุ่มมีวอลุ่มที่เข้ารหัส LUKS


คำตอบที่สมบูรณ์แบบและยืนยันการทดสอบของฉัน ฉันไม่สามารถลงคะแนนสำหรับคำตอบของคุณแม้ว่าฉันเป็นมือใหม่ที่นี่และไม่มีชื่อเสียงมากพอ :-(
NotSuperMan

8

มันแปลกมากที่มี LUKS อยู่ในห้องใต้ดินธรรมดา ทำไมเข้ารหัสสองครั้ง

เมื่อติดตั้งระบบไฟล์ของคุณแล้วlsblkจะแสดงสิ่งที่คุณต้องการ

NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                            8:0    0  59.6G  0 disk  
└─sda1                         8:1    0  59.6G  0 part  
  └─md0                        9:0    0  59.6G  0 raid1 
    └─luksSSD1               253:9    0  59.6G  0 crypt 
      ├─SSD-home             253:0    0    36G  0 lvm   /home
      └─SSD-root             253:10   0    16G  0 lvm   /

นี่คือ LVM (/ home และ / ที่มีประเภท lvm) บน LUKS (ประเภท crypt, luksSSD1) บน RAID1 (md0, type raid1) บนพาร์ติชันปกติ (sda1) บนดิสก์ sda


ใช่มันแปลก ฉันเพิ่มผลลัพธ์ของ 'lsblk' ลงในคำถามของฉัน
NotSuperMan

@NotSuperMan: ดีที่ดูดี ดิสก์พาร์ติชัน lvm และ LV แต่ละตัวจะถูกเข้ารหัส เป็นการตั้งค่าทั่วไป คำอธิบายของคุณฟังแตกต่างออกไป ฉันคิดว่าความผิดพลาดของคุณคือการใช้ cryptsetup --plain บน sda3; sda3 เป็นอุปกรณ์ LVM ไม่ใช่ crypt
frostschutz

ขอบคุณสำหรับความช่วยเหลือของคุณ. แต่ไม่มี cryptsetup --type ธรรมดาฉันไม่สามารถติดตั้งพาร์ติชันได้ ดังนั้นมันไม่ชัดเจนสำหรับฉัน อาจจะเป็นแทนที่จะติดตั้งพาร์ติชันก่อนฉันควรติดตั้ง LV โดยใช้ LUKS-UUID โดยตรงหรือไม่ (ฉันจะให้ที่ยิง) เมื่อฉันวิ่งfdisk -l /dev/sdaมันบอกว่า/dev/sda3เป็น Id เป็น 8e Linux LVMและประเภทคือ
NotSuperMan

ตกลง. แทนที่จะลอง 'cryptsetup open' พาร์ติชั่นก่อนฉันแค่ใช้cryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeNameคำสั่งเพื่อเปิด LV โดยตรงและมันถาม passowrd เป็นต้นและต่อมาฉันก็สามารถเมานต์อุปกรณ์ที่แมปได้ สิ่งนี้อธิบายได้มากมายสำหรับฉัน ฉันคิดว่ากุญแจคือลำดับของ 'crypt และ' lvm 'TYPE ในเอาต์พุตของlsblkคำสั่ง ดังนั้นผมคิดว่าการตั้งค่าของฉันเป็นLUKS-over-LVM และจากการส่งออกที่คุณแสดงให้เห็นว่าผมสรุปคุณเป็นมากกว่า LVM-LUKSการติดตั้ง ดังนั้นฉันสรุปได้ว่าฉันไม่ควร 'cryptsetup open' พาร์ติชัน 'Linux LVM'
NotSuperMan

ความคิดเห็นของคุณช่วยฉันล้างความเข้าใจของฉัน น่าเสียดายที่ฉันไม่สามารถลงคะแนนสำหรับคำตอบของคุณเนื่องจากฉันเป็นมือใหม่ที่นี่และไม่มี "ชื่อเสียง" สูงพอ :-( ดังนั้น stackexchange ไม่อนุญาตให้ฉันโหวตให้คำตอบของคุณ
NotSuperMan

3

คุณสามารถเห็นสิ่งที่คุณชอบ:

$ sudo blkid | grep crypto_LUKS
/dev/mapper/fedora-home: UUID="XXXXXXXXXXXXXXXXX" TYPE="crypto_LUKS" 

นั่นคือโลจิคัลวอลุ่ม LVM ที่มี crypto LUKS อยู่ เมื่อฉันติดตั้งวอลลุ่มนั้นมันจะติดตั้งแบบนี้ภายใต้ Fedora 20:

$ mount | grep home
/dev/mapper/luks-XXXXX on /home type ext4 (rw,relatime,seclabel,data=ordered)

หากคุณทำการติดตั้งมาตรฐานคุณจะมีสิ่งเดียวกัน

ถอดรหัสด้วยตนเอง

ฉันเชื่อว่าคุณสามารถทำสิ่งต่อไปนี้หากคุณต้องการทำสิ่งต่างๆด้วยตนเอง ก่อนอื่นเพื่อดูว่ามีอะไร LUKS หรือไม่:

$ sudo cryptsetup isLuks /dev/mapper/fedora-home
$ echo $?
0

$ sudo cryptsetup isLuks /dev/mapper/fedora-root 
$ echo $?
1

หมายเหตุ:ศูนย์หมายถึงว่ามันเป็น LUKS, 1 หมายถึงมันไม่ได้

ดังนั้นเพื่อถอดรหัส:

$ sudo cryptsetup luksOpen /dev/mapper/fedora-home crypthome

หมายเหตุ:คุณต้องป้อนวลีรหัสผ่านเพื่อถอดรหัสพาร์ติชั่น อย่าลังเลที่จะเปลี่ยนชื่อการแมปcrypthomeเป็นอะไรก็ได้ที่คุณต้องการ พาร์ติชันที่แมปพร้อมใช้งานแล้ว/dev/mapper/crypthomeแต่ยังไม่ได้เมาต์ ขั้นตอนสุดท้ายคือการสร้างจุดเชื่อมต่อและการติดตั้งพาร์ติชันที่แมป:

การติดตั้งด้วยตนเอง

$ sudo -Es
$ mkdir /mnt/crypthome && mount /dev/mapper/crypthome /mnt/crypthome

พาร์ทิชันที่เข้ารหัสลับฉันมีอะไรบ้าง

คุณสามารถเช็คอินไฟล์/etc/crypttabเพื่อดูว่าคุณตั้งค่า LUKS ไว้ด้วยเช่นกัน

$ more /etc/crypttab  
luks-XXXXXXXX UUID=XXXXXXXX none 

ทิ้งอุปกรณ์

คุณยังสามารถใช้luksDumpเช่น:

$ sudo cryptsetup luksDump /dev/mapper/fedora-home
LUKS header information for /dev/mapper/fedora-home

Version:        1
Cipher name:    aes
Cipher mode:    xts-plain64
Hash spec:      sha1
Payload offset: 4096
MK bits:        512
MK digest:      XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK salt:        XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
MK iterations:  50625
UUID:           XXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX

Key Slot 0: ENABLED
    Iterations:             202852
    Salt:                   XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
                            XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 
    Key material offset:    8
    AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED

หากไม่ใช่อุปกรณ์ LUKS จะมีการรายงานดังนี้:

$ sudo cryptsetup luksDump /dev/mapper/fedora-root 
Device /dev/mapper/fedora-root is not a valid LUKS device.

อ้างอิง


1

ฉันคิดว่ากุญแจสำคัญในการตรวจสอบว่าเป็น LVM-over-LUKS หรือวิธีอื่น ๆ คือลำดับของcryptและlvm TYPE ในเอาต์พุตของlsblkคำสั่ง อยู่บนพื้นฐานของเหตุผลที่ผมสรุปตั้งค่าของฉันเป็นLUKS-over-LVM สำหรับlsblkเอาต์พุตสำหรับการตั้งค่าประเภท LVM-over-LUKS ดูที่เอาต์พุตที่แสดงโดย @frostschultz ด้านล่าง

ในกรณีของฉันเนื่องจาก / dev / sda3 เป็นพาร์ติชันระบบ "Linux LVM" (partition Id 8e) ฉันคิดว่าแทนที่จะลองcryptsetup open --type plain /dev/sda3 SomeNameก่อนฉันควรแมป LVM โดยตรงด้วยการรันคำcryptsetup open /dev/disk/by-uuid/UUID-of-LV SomeNameสั่งคำสั่งเพื่อเปิด LV โดยตรง ฉันลองและใช้งานได้ตามที่คาดไว้

ขอขอบคุณทุกคนที่มีส่วนช่วยฉันให้เข้าใจเรื่องนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.