ฉันจะตั้งค่าป้ายกำกับบนคอนเทนเนอร์ dm-crypt + LUKS ได้อย่างไร


12

ฉันเพิ่งได้รับแฟลชไดรฟ์ USB ใหม่และตั้งค่าพาร์ทิชันที่เข้ารหัสไว้ 2 ตัว ผมใช้ DM-ฝังศพใต้ถุนโบสถ์ (โหมด LUKS) cryptsetupผ่าน ด้วยพาร์ติชันที่ไม่เข้ารหัสเพิ่มเติมไดรฟ์มีโครงสร้างต่อไปนี้:

  • /dev/sdb1เข้ารหัสเข้ารหัสซ่อนไฟล์ระบบ ext4 ที่มีป้ายกำกับว่า "Partition 1"
  • /dev/sdb2เข้ารหัสเข้ารหัสซ่อนไฟล์ระบบ ext4 อื่นติดป้ายกำกับ "Partition 2"
  • /dev/sdb3, ชัดเจน, มองเห็น ext4 filesystem ชื่อ "Partition 3"

เนื่องจากเลเบลติดอยู่กับระบบไฟล์ ext4 สองรายการแรกจึงยังมองไม่เห็นได้อย่างสมบูรณ์ตราบใดที่พาร์ติชันไม่ได้ถูกถอดรหัส ซึ่งหมายความว่าในระหว่างนี้คอนเทนเนอร์ LUKS ไม่มีป้ายกำกับ สิ่งนี้น่ารำคาญเป็นพิเศษเมื่อใช้ GNOME (automount) ซึ่งในกรณีนี้พาร์ทิชันจะปรากฏเป็น " x GB Encrypted " และ " y GB Encrypted " จนกว่าฉันจะตัดสินใจปลดล็อค

นี่ไม่ใช่ปัญหาการบล็อก แต่น่ารำคาญเพราะฉันชอบป้ายกำกับของฉันและชอบที่จะเห็นมันปรากฏขึ้นแม้ว่าพาร์ติชันของฉันจะยังคงเข้ารหัส

ดังนั้นจึงมีวิธีแนบป้ายกำกับไปยังคอนเทนเนอร์ DM-crypt + LUKS เหมือนกับที่เราแนบป้ายกำกับกับระบบไฟล์ ext4 หรือไม่ ส่วนหัว dm-crypt + LUKS มีที่ว่างสำหรับสิ่งนั้นและถ้าเป็นเช่นนั้นฉันจะตั้งป้ายกำกับได้อย่างไร

โปรดทราบว่าฉันไม่ต้องการแสดงป้ายกำกับ ext4 ของฉันก่อนถอดรหัสนั่นอาจเป็นเรื่องโง่ ฉันต้องการเพิ่มป้ายกำกับอื่น ๆ ลงในคอนเทนเนอร์ซึ่งอาจปรากฏขึ้นในขณะที่ซ่อนฉลาก ext4


ไดรฟ์ USB ถูกแบ่งพาร์ติชันด้วย MBR หรือ GPT หรือไม่ ฉันเชื่อว่าคุณสามารถติดป้ายพาร์ติชัน GPT ซึ่งอาจช่วยคุณได้
garethTheRed

1
ฉันโกหก (บางส่วนดี) - ฉันสร้างพาร์ติชัน GPT บนแท่ง USB และใช้gdiskเพื่อให้ป้ายชื่อพาร์ติชันนั้น เมื่อฉันสร้างระบบแฟ้มในพาร์ติชันนั้น GNOME จะรู้จักมันเป็น "ไดรฟ์ข้อมูลขนาด 501 MB" เท่านั้น ดังนั้นในขณะที่คุณสามารถติดป้ายกำกับ GNOME ไม่รู้จักป้ายกำกับพาร์ติชัน เลเบลระบบไฟล์เท่านั้น
garethTheRed

1
@garethTheRed คุณตรวจสอบในเวลาเดียวกับที่ฉันทำแล้ว! ฉันฟอร์แมตไดรฟ์ใหม่โดยใช้ GPT (ฉันใช้fdiskโหมด MBR เริ่มต้นแล้ว) และชื่อพาร์ติชันไม่ปรากฏใน GNOME อย่างไรก็ตามคำถามนั้นไม่ได้เฉพาะเจาะจงของ GNOME จริงๆและในขณะที่ชื่อ GPT หลอกทำหน้าที่ในระดับต่ำกว่านี้อาจยังคงเป็นทางออกที่ถูกต้องสำหรับปัญหาที่ฉันอธิบาย ฉันจะรออีกหน่อยเพื่อดูว่ามีใครบางคนมีทางออกที่ทำหน้าที่ในระดับ LUKS แต่ฉันคิดว่าชื่อพาร์ติชัน GPT อาจเป็นเนื้อหาของคำตอบที่ถูกต้อง
John WH Smith

1
ปริมาณ LUKS ไม่มีชื่อ พวกเขาจะได้รับมอบหมายเมื่ออุปกรณ์ถูกแมปซึ่งจะไม่เกิดขึ้นจนกว่าคุณจะได้รับรหัส วิธีแก้ปัญหาเพียงอย่างเดียวของคุณคือการหาวิธีบอก Gnome เกี่ยวกับชื่อที่ไม่ได้“ แนบอยู่กับไดรฟ์” หรือให้ชื่อกับโวลุ่มที่ครอบคลุม (เช่นพาร์ติชัน) ป.ล. คำถามนี้ใช้ได้ที่นี่และจะไม่เกี่ยวข้องกับความปลอดภัยของข้อมูลเนื่องจากไม่เกี่ยวกับความปลอดภัย แต่เป็นเรื่องการใช้เครื่องมือของผู้ใช้ปลายทางที่ทำสิ่งที่เกี่ยวข้องกับความปลอดภัย
Gilles 'หยุดความชั่วร้าย'

หากคุณตั้งป้ายพาร์ทิชันที่คุณจะได้รับการตั้งชื่ออย่างเหมาะสม symlink /dev/disk/by-partlabelใน ฉันรู้ว่ามันไม่ได้ช่วยสำหรับเครื่องมือที่ไม่ได้ดูที่นั่น แต่มันให้เส้นทางที่มั่นคงที่คุณสามารถใช้ในสคริปต์และเช่นนั้น
asciiphil

คำตอบ:


2

ฉันคิดว่าทางออกคือการเขียนกฎ udev เช่นนี้

KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb1-uuid", ENV{ID_FS_LABEL}="Partition_1", ENV{ID_FS_LABEL_ENC}="Partition_1"
KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb2-uuid", ENV{ID_FS_LABEL}="Partition_2", ENV{ID_FS_LABEL_ENC}="Partition_2"

1
ทำงานเหมือนจับใจ! แม้ว่าฉันจะต้องการโซลูชันที่เกี่ยวข้องกับการจัดเก็บข้อมูลบนสื่อแบบถอดได้ แต่ฉันเกรงว่าฉันจะต้องติดตั้งการกำหนดค่าเฉพาะระบบบางอย่างหลังจากทั้งหมด นอกจากนี้คำถามก็ค่อนข้างเฉพาะเจาะจงเมื่อ GNOME เข้ามามีส่วนร่วม: ฉันดีใจที่มีคนพบวิธีแก้ปัญหาที่ไม่ขึ้นอยู่กับพฤติกรรมของมัน
John WH Smith

6

สำหรับการแก้ปัญหาอย่างถาวรเพื่อเปลี่ยนฉลากของภาชนะใช้:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

2
อาจจะมีมูลค่าที่ระบุว่าเรื่องนี้จะทำงานเฉพาะสำหรับส่วนหัว LUKS2 แต่แน่นอนทางออกที่ดีที่สุด
Torin

2

วิธีนี้ดูเหมือนจะใช้ได้สำหรับฉัน: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

ดังนั้นหากคุณใช้ระบบไฟล์ EXT (ฉันใช้ ext4 ที่นี่):

  1. ปลดล็อกพาร์ติชัน LUKS
  2. ตั้งชื่อของระบบไฟล์ที่ปลดล็อค (ไม่ใช่พาร์ติชัน LUKS)

    e2label <path> <name>
    

    pathgeneraly คือ/dev/mapper/<something>ถ้าใช้ cryptsetup แต่ในกรณีของฉันเพราะฉันใช้ udisks มันเป็น/dev/dm-xที่ที่xมีจำนวน

ฉันคิดว่าวิธีนี้จัดเก็บข้อมูลในสื่อบันทึกข้อมูลแบบถอดได้ตามที่คุณต้องการ แต่ฉันยังไม่ได้ทดสอบ


2
ขอบคุณ แต่น่าเสียดายที่นี่ไม่สามารถใช้งานได้กับคอนเทนเนอร์ LUKS ซึ่งปกปิดข้อมูลทุกอย่างเกี่ยวกับระบบไฟล์ภายในของพวกเขา (รวมถึงป้ายกำกับ) แนวคิดในที่นี้คือตั้งชื่อคอนเทนเนอร์ของ LUKS ไม่ใช่สิ่งที่ซ่อนอยู่ข้างในดังนั้นชื่อจะปรากฏขึ้นแม้ในขณะที่ภาชนะนั้นยังถูกเข้ารหัสอยู่: p (ดูย่อหน้าที่ 2 ของฉัน)
John WH Smith

Ops ขอโทษ ... ฉันคิดว่าคุณต้องการติดป้ายกำกับระบบไฟล์ภายในไม่ใช่พาร์ติชัน LUKS อาจเป็นเพราะนั่นคือสิ่งที่ฉันต้องการจะทำเมื่อมาถึงคำถามนี้ = P
บางคน

0

ฉันพบการรวมกันของคำตอบโดย @ kristóf-szalay และ @someone เป็นสิ่งที่ฉันต้องการและฉันได้เพิ่มบันทึกย่อบางส่วน

โดยเฉพาะ:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

ITO คำถามเดิมซึ่งจะทำให้ไอคอนใน DM ของคุณแสดงด้วย YOURLABEL

หากคุณต้องเปิดฝังศพใต้ถุนโบสถ์โดยการดับเบิลคลิกมันจะถูกติดตั้งเป็น

/media/user/uuid
eg:
/media/fred/e54e89a-.....

ซึ่งอาจทำให้เกิดความสับสนอีกครั้งพูดว่าถ้าคุณอยู่ใน CLI

จากการทำ:

e2label <path> <name>

ชื่อนั้นจะทำให้พา ธ ที่เมาท์ใช้กับค่าของ < name >:

/ media / fred / name

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