পাসওয়ার্ডটি না জেনে একটি LUKS ফাইল সিস্টেমে পাসওয়ার্ড পরিবর্তন করুন


30

আমার একটি ডেবিয়ান হুইজি সার্ভার রয়েছে যা একটি এনক্রিপ্টড ড্রাইভ সহ কিছুক্ষণ চলছিল। /dev/sda5আমার এনক্রিপ্ট করা পাসওয়ার্ড ফাইলটি দূষিত হয়ে গেলে এনক্রিপ্ট করা ড্রাইভের ( ) পাসওয়ার্ডটি হারিয়ে যায়।

আমি এই সার্ভারটি পুনরায় বুট করতে সক্ষম হতে চাই, তবে অবশ্যই এটি অবশ্যই পাসওয়ার্ডের প্রয়োজন। যেহেতু ড্রাইভটি পরিষ্কারভাবে একটি ডিক্রিপ্টেড অবস্থায় রয়েছে তাই পুরানোটি না জেনে পাসওয়ার্ড পরিবর্তন করার কোনও উপায় আছে কি?

cryptsetup luksChangeKey /dev/sda5 ভলিউমের পাসওয়ার্ড প্রয়োজন।

আমি অবশ্যই rsyncসবকিছু বন্ধ করে দিয়ে পুনর্নির্মাণ করতে পারি তবে আমি তা এড়াতে চাই। আমি স্মৃতিটি দেখেছি ( #cat /dev/mem | less), তবে এটি খুঁজে পাইনি (যা খুব ভাল জিনিস!)।


2
হুমম্ম .... পাসওয়ার্ড ব্যতীত এর অ্যাক্সেস পাওয়া এত সহজ হলে কোনও এনক্রিপ্ট করা ফাইল সিস্টেম থাকার কী দরকার।
এমডিপিসি

7
@ এমডিপিসি: আপনার তাত্ক্ষণিকতা কোনও অর্থবোধ করে না। ফাইলসাইটিতে তার অ্যাক্সেস রয়েছে , কারণ সার্ভারটি শেষবার বুট করার সময় তার পাসওয়ার্ড ছিল
জি-ম্যান

2
আপনার পাসওয়ার্ডটি হ'ল (এবং এটি দূষিত হয়ে গেছে) আমার মন্তব্যটিকে অকার্যকর করে না। সাধারণভাবে আপনি যদি কোনও ধরণের এনক্রিপ্ট হওয়া উপাদানের পাসওয়ার্ড ভুলে যান তবে তা চিরতরে হারিয়ে যেতে হবে অন্যথায় এটি প্রথম স্থানে এনক্রিপ্ট করার অর্থ কী ছিল?
এমডিপিসি

3
@ এমডিপিসি বর্তমান কাল, তার ফাইল সিস্টেমে বর্তমান প্রবেশাধিকার রয়েছে।
প্যাট্রিক

সুপার ব্যবহারকারীর ক্ষেত্রে একই প্রশ্ন: LUKS পাসওয়ার্ড হারিয়ে গেছে, এনক্রিপ্ট করা পার্টিশনটি খোলা হয়েছে (উত্তর দেওয়া হয়নি)।
জি-ম্যান

উত্তর:


40

হ্যাঁ, ভলিউমটি ডিক্রিপ্ট হওয়ার সময় আপনি মাস্টার কী অ্যাক্সেস করে এটি করতে পারেন।

একটি নতুন পাসফ্রেজ যুক্ত করার জন্য দ্রুত এবং নোংরা:

device=/dev/sda5
volume_name=foo
cryptsetup luksAddKey $device --master-key-file <(dmsetup table --showkeys $volume_name | awk '{ print $5 }' | xxd -r -p)

deviceএবং volume_nameযথাযথভাবে সেট করা উচিত।
volume_nameডিক্রিপ্ট করা ভলিউমের নাম, আপনি যেটি দেখতে পাচ্ছেন /dev/mapper


ব্যাখ্যা:

LUKS ভলিউম একটি মাস্টার কী দিয়ে তাদের ডেটা এনক্রিপ্ট করে। আপনি যে প্রতিটি পাসফ্রেজ যুক্ত করেছেন তা কেবল সেই পাসফ্রেজের সাথে এনক্রিপ্ট করা এই মাস্টার কীটির অনুলিপি সঞ্চয় করে। সুতরাং আপনার যদি মাস্টার কী থাকে তবে আপনার কেবল এটি নতুন কী স্লটে ব্যবহার করা দরকার।

উপরের কমান্ডটি ছিন্ন করতে দিন।

$ dmsetup table --showkeys $volume_name

এটি সক্রিয়ভাবে ডিক্রিপ্টেড ভলিউম সম্পর্কে একগুচ্ছ তথ্য ফেলে দেয়। আউটপুটটি দেখতে এটির মতো দেখাচ্ছে:

0 200704 crypt aes-xts-plain64 53bb7da1f26e2a032cc9e70d6162980440bd69bb31cb64d2a4012362eeaad0ac 0 7:2 4096

ক্ষেত্র # 5 হ'ল মাস্টার কী।

 

$ dmsetup table --showkeys $volume_name | awk '{ print $5 }' | xxd -r -p

এটির বাইনারি ডেটা হিসাবে এর আউটপুটটি প্রদর্শন করা যাচ্ছে না, তবে এটি কী করে তা হ'ল ভলিউমের মাস্টার কীটি ধরে ফেলবে এবং এরপরে এটি কাঁচা বাইনারি ডেটাতে রূপান্তর করবে যা পরে প্রয়োজন।

 

$ cryptsetup luksAddKey $device --master-key-file <(...)

এটি ক্রিপ্টসেটআপটিকে ভলিউমে একটি নতুন কী যুক্ত করতে বলছে। সাধারণত এই ক্রিয়াটির জন্য একটি বিদ্যমান কী প্রয়োজন হয়, তবে আমরা --master-key-fileএটির পরিবর্তে মাস্টার কীটি ব্যবহার করতে চাই তা বলার জন্য ব্যবহার করি।
এটি <(...)হ'ল শেল কমান্ড প্রতিস্থাপন এবং পুনঃনির্দেশ। এটি মূলত ভিতরে সমস্ত কিছু সম্পাদন করে, একটি পাইপে আউটপুট প্রেরণ করে এবং তারপরে <(...)সেই পাইপের দিকে যাওয়ার পথটিকে স্থান দেয় ।

 

তাই পুরো কমান্ডটি বেশ কয়েকটি অপারেশনকে সরিয়ে রাখার জন্য কেবল একটি লাইনারের।


আমি নিশ্চিত না যে আমি কিছু ভুল করছি কিনা তবে আমার LUKS উদাহরণটিতে যেমন দেখায় তার মতো কোনও স্ট্রিং প্রদর্শন করে না। এটি একটি সংক্ষিপ্ত 9 ডিজিটের সংখ্যা। এছাড়াও খনিটি "লিনিয়ার 8: 3" হিসাবে দেখায়।
slm

@ এসএলএম যদি এটি প্রদর্শিত হয় তবে তা ওপেন এলইউকেএস linearভলিউম নয় ( volume_nameপ্রদত্ত কমান্ডের জন্য ভুল মান )। একটি খোলা LUKS ভলিউম crypt3 য় ক্ষেত্রে থাকবে। ইন cryptsetup luksOpen /dev/foo bar, volume_nameমান হবে bar
প্যাট্রিক

এখন বুঝতে পেরেছি. /dev/mapperনামে একটি ভলিউম আছে luks-.....। আপনার যে ভলিউমটি ব্যবহার করার দরকার তা হ'ল, এলভিএম নয়, ম্যাপযুক্ত লজিকাল ভলিউম।
slm

1
দেখে মনে হচ্ছে ডিএমসেটআপের সাম্প্রতিক সংস্করণগুলির বিন্যাসটি dmsetup tableপরিবর্তিত হয়েছে। কমপক্ষে আমার জন্য কলামে মাস্টার কীটি প্রদর্শিত হবে $6
করোল বাবিওচ

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