আমার এনক্রিপ্ট করা এলভিএম ভলিউম (LUKS ডিভাইস) বুট করার সময় কেন মাউন্ট হবে না?


15

আমি এই গাইড অনুসরণ করে একটি এনক্রিপ্ট করা ভলিউম সেটআপ করার চেষ্টা করছি

সবকিছু সেটআপ করা হয়েছে তবে ত্রুটি সহ বুট-সময়ে এনক্রিপ্ট করা ভলিউমটি মাউন্ট করা ব্যর্থ হয়:

fsck.ext4: / dev / mapper / Safe_vault খোলার চেষ্টা করার সময় এই জাতীয় কোনও ফাইল বা ডিরেক্টরি সম্ভবত সম্ভবত অস্তিত্বহীন ডিভাইস?

এটি আমার সেটআপ:

crypttab -র

$ sudo cat /etc/crypttab
safe_vault  /dev/disk/by-uuid/d266ae14-955e-4ee4-9612-326dd09a463b  none    luks

বিঃদ্রঃ:

uuidথেকে আসে:

$ sudo blkid /dev/mapper/<my_logical_group>-safe_vault 
/dev/mapper/<my_logical_group>-safe_vault: UUID="d266ae14-955e-4ee4-9612-326dd09a463b" TYPE="crypto_LUKS" 

fstab ফাইলের

$ sudo cat /etc/fstab | grep safe_vault
/dev/mapper/safe_vault      /safe-vault     ext4    defaults    0 2

আমি যা করেছি...

সুতরাং আমি ডেভোপারের ওয়েবসাইটে গিয়েছিলাম এবং কমন সমস্যাগুলির প্রায়শই জিজ্ঞাসিত প্রশ্নাবলীতে তারা বলে:

আপনার কার্নেলের মধ্যে ডিভাইস ম্যাপার এবং ক্রিপ্ট লক্ষ্য রয়েছে তা পরীক্ষা করে দেখুন। "Dmsetup টার্গেট" এর আউটপুট একটি "ক্রিপ্ট" লক্ষ্য তালিকাভুক্ত করা উচিত। যদি এটি না থাকে বা কমান্ড ব্যর্থ হয়, ডিভাইস ম্যাপার এবং কার্নেলের সাথে ক্রিপট-লক্ষ্য যুক্ত করুন।

সুতরাং আমি করেছি, দেখা যাচ্ছে আমার কোনও cryptলক্ষ্য নেই:

$ sudo dmsetup targets
striped          v1.4.1
linear           v1.1.1
error            v1.0.1

সমস্যাটি হ'ল আমি জানি না কীভাবে এই জাতীয় লক্ষ্য যুক্ত করতে হয়।

আমি মনে করি এটি ( cryptলক্ষ্য না থাকা ) সম্ভবত crypttabবুট-সময়ে কনফিগারেশনটিকে উপেক্ষা করা হতে পারে এবং এইভাবে fstabব্যর্থতায় এন্ট্রি মাউন্ট করার চেষ্টা করছে কারণ cryptsetupএতে আমার এনক্রিপ্ট করা ভলিউমটি ম্যাপ করা হয়নি /dev/mapper/safe_vault

বিঃদ্রঃ:

এনক্রিপ্ট করা ভলিউমটি ম্যানুয়ালি ম্যাপিং, মাউন্ট এবং লিখিতভাবে সফলভাবে করা যেতে পারে:

$ sudo cryptsetup luksOpen /dev/mapper/<my_logical_group>-safe_vault safe_vault
Enter passphrase for /dev/mapper/<my_logical_group>-safe_vault: 

$ sudo mount /dev/mapper/safe_vault /safe_vault

এটি এটিকে ম্যাপিং এবং মাউন্ট করার পরে দেখায়:

$ sudo lsblk -o name,uuid,mountpoint
NAME                                  UUID                                   MOUNTPOINT
sda                                                                          
├─sda1                                28920b00-58d3-4941-889f-6249357c56ee   
├─sda2                                                                       
└─sda5                                uhBLE7-Kcfe-RMi6-wrlX-xgVh-JfAc-PiXmBe 
  ├─<my_logical_group>-root (dm-0)       1bed9027-3cf7-4f8d-abdb-28cf448fb426   /
  ├─<my_logical_group>-swap_1 (dm-1)     a40c16c4-7d0c-46d7-afc8-99ab173c20bb   [SWAP]
  ├─<my_logical_group>-home (dm-2)       e458abb7-b263-452d-8670-814fa737f464   /home
  ├─<my_logical_group>-other (dm-3)      0a1eec42-6534-46e1-8eab-793d6f8e1003   /other
  └─<my_logical_group>-safe_vault (dm-4) d266ae14-955e-4ee4-9612-326dd09a463b   
    └─safe_vault (dm-5)               9bbf9f47-8ad8-43d5-9c4c-dca033ba5925   /safe-vault
sr0  

হালনাগাদ

  • দেখা যাচ্ছে যে আমার cryptলক্ষ্য আছে তবে এটির আগে dmsetup targetsআমার প্রথম দেখাতে হয়েছিলcryptsetup luksOpen <my-device>
  • UUID@ মিখাইল মরফিকভের উত্তর অনুসারে আমি এর পরিবর্তে গুলি ব্যবহার করার চেষ্টা করেছি তবে বুট-টাইমে এটি ব্যর্থ হয়।

আমি এখনও মনে করি সমস্যাটি হ'ল cryptsetup luksOpenবুট-টাইমে কোনওভাবে এনক্রিপ্ট হওয়া ভলিউমটি ম্যাপ করা হচ্ছে না (খোলা আছে ) সুতরাং এর কোনও /dev/mapper/<safe_vault or UUID>উপস্থিতি নেই, তারপরে এটি মাউন্ট করার চেষ্টা করা (fstab) ব্যর্থ হয়।

আপডেট 2

দেখা যাচ্ছে বুট করার সময় আমার কাছে প্রয়োজনীয় স্ক্রিপ্ট নেই। @ মিখাইলমারফিকভের উত্তরে নোটটি দেখুন।


1
ক্রিপ্ট লক্ষ্যটি নিজে নিজে করার পরে কি প্রদর্শিত হবে luksOpen? আমি আশা করতাম যে এটি যদি না থাকত তবে লুকস ওপেনও ব্যর্থ হত।
একটি সিভিএন

ঠিক আছে, এর sudo cryptsetup luksOpenজন্য দুটি নতুন লক্ষ্য উপস্থিত হওয়ার পরে sudo dmsetup targets: errorএবং crypt। আমার মনে হয় তখন আমার প্রশ্নটি বদলাতে হবে ...
pgpb.padilla

এটি একটি বিভাজন বা একটি ফাইল ধারক?
মিখাইল মরফিকভ

/dev/mapper/<my-logical-volume>-safe_vaultLVM দিয়ে তৈরি লজিক্যাল ভলিউম এবং /dev/mapper/safe_vaultএটি এমন ডিভাইস যা এটি করে ম্যাপ করা হয় cryptsetup luksOpen /dev/mapper/<my-logical-volume>-safe_vault। আপনি কি জানেন যে crypttabএলভিএম ভলিউমের সাথে কাজ করে?
pgpb.padilla

আমার luks একটি পার্টিশনের ভিতরে lvm রয়েছে, আসলে আমার পুরো 1,5TB ডিস্ক এনক্রিপ্ট করা আছে (বাদে /boot)। সমস্ত সমস্যা ছাড়াই বুটে উঠেছে। আপনি কি নিশ্চিত যে initramfsসম্পাদনার পরে আপনি আপডেট হয়েছেন /etc/crypttab? lsblk -o name,uuid,mountpointযখন সবকিছু মাউন্ট করা হয় এবং যেমনটি করা উচিত ঠিক তেমনি কাজ করে তবে কি আপনি আউটপুট প্রদর্শন করতে পারেন ?
মিখাইল মরফিকভ

উত্তর:


16

আপনাকে ইউইউডিগুলিতে মনোযোগ দিতে হবে। উদাহরণস্বরূপ, এটি আমার কনফিগারেশন:

# lsblk -o name,uuid,mountpoint
├─sda2                         727fa348-8804-4773-ae3d-f3e176d12dac
│ └─sda2_crypt (dm-0)          P1kvJI-5iqv-s9gJ-8V2H-2EEO-q4aK-sx4aDi
│   ├─debian_crypt-swap (dm-1) 3f9f24d7-86d1-4e21-93e9-f3c181d05cf0   [SWAP]
│   ├─debian_crypt-tmp (dm-2)  93fc8219-f985-45fb-bd5c-2c7940a7512d   /tmp
│   ├─debian_crypt-home (dm-3) 12e8566c-8f0f-45ec-8524-6d9d9ee91eae   /home
│   └─debian_crypt-root (dm-4) 9685570b-4c9e-43ea-815e-49d10dc7a1bf   /

আমার 4 টি ভলিউম (এলভিএম) সহ একটি এনক্রিপ্ট করা পার্টিশন (এসডিএ 2) রয়েছে। আমার যা দরকার তা হল সঠিক ফাইলগুলিতে দুটি ইউআইডি সেট করা। /etc/crypttabSda2 ইউআইইউড যায় এবং ভলিউম ইউআইইউড (উদাহরণস্বরূপ ডিবিয়ান_ক্রিপ্ট-রুট) যায় /etc/fstab

সুতরাং, এটি হবে:

# cat /etc/crypttab
sda2_crypt              UUID=727fa348-8804-4773-ae3d-f3e176d12dac   none        luks

# cat /etc/fstab
UUID=9685570b-4c9e-43ea-815e-49d10dc7a1bf       /               ext4    defaults,errors=remount-ro              0 1

/etc/crypttabফাইল পরিবর্তন করার পরে , আপনাকে পুনরায় পুনরায় বিলম্ব করতে হবে initramfs:

# update-initramfs -u -k all

বিঃদ্রঃ

প্যাকেজটি cryptsetupইনস্টল করতে হবে কারণ এতে স্টার্টআপ স্ক্রিপ্ট রয়েছে যা বুটে এনক্রিপ্ট করা ভলিউমগুলিকে অটোমउंटিংয়ের জন্য সমর্থন সরবরাহ করে।

কেন এটি উল্লেখ করতে বিরক্ত করবেন? ঠিক আছে, আপনি যদি ইনস্টলেশন চলাকালীন LVM সেটআপ করেন তবে দেবিয়ান হুইজি প্যাকেজগুলি ক্রিপসেটআপ-বিন ইনস্টল করে , libcryptsetup4এবং lvm2না cryptsetup, সুতরাং আপনার কাছে LVM ও LUKS ডিভাইস সেটআপ করার সরঞ্জাম রয়েছে তবে বুট সময়ে LUKS ডিভাইসগুলি মাউন্ট করার জন্য প্রয়োজনীয় স্ক্রিপ্টগুলি নেই। যারা প্যাকেজ ক্রিপ্টসেটআপে আসে


আমি চেষ্টা করার চেষ্টা করেছি UUIDকিন্তু আমি একই ত্রুটি পেয়েছি। আমি বিশদটি দিয়ে প্রশ্নটি আপডেট করব।
pgpb.padilla

হাই, এই কিছুটা দীর্ঘ হচ্ছে, আমরা চ্যাট করতে পারি ?
pgpb.padilla

একপাশে হিসাবে, আপনি / ইত্যাদি / ক্রিপ্টটাব সম্পাদনা না করলেও মনে হয় আপনি যদি কিছু নির্দিষ্ট এনক্রিপশন সেটিংস পরিবর্তন করেন তবে ডিস্কগুলি আপনার জন্য এটি সম্পাদনা করবে। এই উত্তরটি আমাকে ডিস্কগুলি দিয়ে করা ভুলগুলি সংশোধন করতে সহায়তা করেছে (এবং ডিস্কগুলি পূর্বাবস্থায় ফেলার চেষ্টা করার সময় আরও বেশি ভুল)।
ঋষি

0

এটা যে @Mikhail Morfikov এর মনে হয় উত্তর সময় মাউন্ট কভার initramfs -র পর্যায়ে। একটি বিকল্প (যদি এটি রুট ফাইল সিস্টেম নয়) ডিক্রিপ্ট এবং মাধ্যমে স্বয়ংক্রিয়ভাবে পার্টিশন মাউন্ট করে systemd হল , পরে linuz কার্নেল লোড করা হয়। অবশ্যই এটি সম্ভব যদি আপনি সিস্টেমড চলমান থাকেন । আমি এখানে পদ্ধতিটি ব্যাখ্যা করব:

/etc/crypttabএন্ট্রি:

crypt2 UUID=e412-blahblah /path/to/crypt2.key luks,noauto

ইনি্রামফেস পর্যায়ে ডিস্ক ডিক্রিপ্ট না করার চেষ্টা করার noautoনির্দেশ এখানে রয়েছে is

উপরে, e412-blahblahলুক্স সিস্টেমযুক্ত পার্টিশনের ইউআইইডিটি রয়েছে, আমার ক্ষেত্রে একটি পার্টিশন /dev/sdb2:

# blkid | grep sdb2
/dev/sdb2: UUID="e41274d8-fd83-4632-b560-ad0ba113ae75" TYPE="crypto_LUKS" PARTUUID="5673a908-02"

সময় linuz কার্নেল প্রারম্ভে, systemd পড়তে হবে /etc/crypttabফাইল এবং একটি রানটাইম সেবা ফাইল তৈরি /run/systemd/generator/systemd-cryptsetup@crypt2.service। তবে, সেই পরিষেবাটি স্বয়ংক্রিয়ভাবে চালিত হয় না। আপনি নিজে এটি চালাতে পারেন

systemctl start systemd-cryptsetup@crypt2.service

তবে এটি ডিক্রিপ্ট করতে এবং তারপরে এটি সূচনা করার সময় মাউন্ট করার জন্য এটি নিম্নলিখিত হিসাবে এটির প্রয়োজন/etc/fstab হতে পারে :

/dev/mapper/crypt2--vg-data /media/crypt-data ext4 defaults,noauto,user,x-systemd.automount,x-systemd.requires=systemd-cryptsetup@crypt2.service 0 2

এখানে x-systemd.automountথেকে একটি নির্দেশ হয় systemd মাউন্ট করতে /media/crypt-data, এবং x-systemd.requires=systemd-cryptsetup@crypt2.serviceএকটি নির্দেশ হয় systemd যে ডিক্রিপশন crypt2প্রয়োজন বোধ করা হয় সামনে যে সম্ভব।

ইন systemd হল আসলে প্রথমবার প্রবেশের করা হয়, যেমন পর্যন্ত ডিরেক্টরির মাউন্ট করা হবে না ls /media/crypt-data, তাহলে এটি মাউন্ট জাস্ট-ইন-সময় এবং তারপরে দেখা যাবে /proc/mounts


সম্পর্কিত

আপনি জিজ্ঞাসা করতে পারেন "* মূল ফাইল সিস্টেমে কী সহ এনক্রিপ্ট করা ডেটা ডিস্ক কেন?" মূল ফাইল সিস্টেমটি এনক্রিপ্ট করা হওয়ার কারণে এটি কী নিরাপদ। রুট ফাইল সিস্টেমটি বুটের initramfs পর্যায়ে ডিক্রিপ্ট করা হয় , একটি লা মিখাইলের উত্তর। /etc/crypttabফাইলটির জন্য আমার আরও একটি প্রবেশ রয়েছে :

crypt1 UUID=8cda-blahbalh none luks,discard,lvm=crypt1--vg-root

এবং আমি এখানে সেট আপ এবং একটি বুট ইউএসবি বর্ণনা করছি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.