আমি দেখতে পেয়েছি যে চলমান sudo bash
এবং তারপরে ecryptfs-recover-private
রুট হিসাবে চালানো (সুডোর মাধ্যমে নয়) কাজ করেছে। কেন এটি আলাদা হতে হবে তা নিশ্চিত নয় Not
সম্পাদনা:
টি এল; ডিআর:
# ecryptfs-unwrap-passphrase /mnt/crypt/.ecryptfs/user/.ecryptfs/wrapped-passphrase - | ecryptfs-add-passphrase --fnek -
< Type your login password here >
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
আপনি কোনও প্রম্পট দেখতে পাবেন না এবং আপনার লগইন পাসওয়ার্ডটি অন্ধ করে উপরের কমান্ডটিতে টাইপ করতে হবে।
উপরের আউটপুট থেকে বন্ধনীগুলির মধ্যে হেক্স স্বাক্ষরের সাথে নীচে aaaaaaaaaaaaaaaa
এবং bbbbbbbbbbbbbbbb
নীচেরটি প্রতিস্থাপন করুন :
# mount -i -t ecryptfs -o ecryptfs_sig=aaaaaaaaaaaaaaaa,ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb,ecryptfs_cipher=aes,ecryptfs_key_bytes=16 /mnt/crypt/.ecryptfs/user/.Private /mnt/plain
preliminaries
রুটটি আমার পক্ষে নির্ভরযোগ্যভাবে কাজ করে না বলে এটি চলমান; কখনও কখনও এটি করেছিল, কখনও কখনও তা করেনি। মূলত, ইক্য্রিপ্টফগুলি বগি এবং বেশ ব্যবহারকারী-বন্ধুত্বপূর্ণ বলে মনে হয়, প্রায়শই লগইন পাসওয়ার্ড এবং মাউন্ট পাসফ্রেজ গুলিয়ে দেয়। একটি গভীর, অন্ধকার খরগোশের গর্তে নেমে যাওয়ার পরে, আমার কাছে কিছু টিপস রয়েছে যা সহায়তা করা উচিত। এই নোটগুলি উবুন্টু 17.10, ইক্য্রিপ্টস-ইউস 111-0 এর জন্য এবং আপনার শুরু করার আগে রুট হওয়া উচিত। আমি ধরে নিই যে আপনি নিজের হোম ডিরেক্টরিটি /mnt/crypt
(যা ইতিমধ্যে মাউন্ট করা উচিত) থেকে মাউন্ট /mnt/plain
করতে চান এবং আপনার user
ব্যবহারকারীর নামটি দিয়ে প্রতিস্থাপন করা উচিত ।
সহজ শুরু করুন
চেষ্টা করার প্রথম জিনিসটি হ'ল:
# ecryptfs-recover-private /mnt/crypt/.ecryptfs/user/.Private
যদি এটি কাজ করে, ভাল, আপনি ভাগ্যবান। যদি তা না হয় তবে এটি mount
প্রায় একটি ত্রুটি বার্তা দিতে পারে no such file or directory
। এটি অত্যন্ত বিভ্রান্তিকর: এর আসল অর্থটি হল আপনার মাউন্ট পাসফ্রেজটি ভুল বা অনুপস্থিত।
স্বাক্ষর পান
এখানে গুরুত্বপূর্ণ অংশটি রয়েছে: আমাদের এ্যাক্রিপ্টস যাচাই করতে হবে সত্যই সঠিক মাউন্ট পাসফ্রেজ চেষ্টা করছে। ইক্য্রিপ্টফগুলি আপনার ফাইল সিস্টেমটি মাউন্ট করার আগে পাসফ্রেজগুলি অবশ্যই লিনাক্স কার্নেলে লোড করতে হবে। ecryptfs তাদের স্বাক্ষর দ্বারা তাদের জন্য কার্নেল জিজ্ঞাসা করে। স্বাক্ষরটি একটি 16-বাইট হেক্স মান (এবং ক্রিপ্টোগ্রাফিকভাবে সংবেদনশীল নয়)। আপনি পাসফ্রেজের স্বাক্ষরগুলি আবিষ্কার করতে পারেন ইক্য্রিপ্টফগুলি আশা করছে:
# cat /mnt/crypt/.ecryptfs/user/.ecryptfs/Private.sig
aaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbb
এগুলি মনে রাখবেন। লক্ষ্যটি হ'ল কার্নেলের মধ্যে লোড হওয়া এই স্বাক্ষরগুলির সাথে পাসফ্রেজগুলি পাওয়া এবং তারপরে এ্যাক্রিপ্টফগুলি তাদের ব্যবহার করতে বলুন। প্রথম স্বাক্ষর ( aaaaaaaaaaaaaaaa
) হ'ল ডেটা এবং দ্বিতীয়টি ( bbbbbbbbbbbbbbbb
) ফাইলনেম এনক্রিপশন কী (এফএনইকে)।
মাউন্ট পাসফ্রেজ পান
এই আদেশটি আপনাকে লগইন পাসওয়ার্ড (একটি বিভ্রান্তিকর প্রম্পট সহ) জিজ্ঞাসা করবে এবং আপনার মাউন্ট পাসফ্রেজ আউটপুট জিজ্ঞাসা করবে :
# ecryptfs-unwrap-passphrase /mnt/crypt/.ecryptfs/user/.ecryptfs/wrapped-passphrase
এটি অনুলিপি করুন কিন্তু সাবধান !! কারণ এটি অত্যন্ত ক্রিপ্টোগ্রাফিক সংবেদনশীল, রাজ্যের চাবি।
একটি ইন্টারেক্টিভ মাউন্ট চেষ্টা করুন
পরেরটি চেষ্টা করে দেখুন:
# mount -t ecryptfs /mnt/crypt/.ecryptfs/user/.Private /mnt/plain
এখানে গুরুত্বপূর্ণ বিষয়টি হ'ল mount
আপনার (অতি সংবেদনশীল) মাউন্ট পাসফ্রেজের দরকার যা আমরা স্রেফ অনুলিপি করেছি (আপনার লগইন পাসওয়ার্ড নয়)।
এটি আপনাকে কিছু প্রশ্ন জিজ্ঞাসা করবে এবং আপনি হ্যাঁ বলার ব্যতীত খেলাপি গ্রহণ করতে পারবেন Enable filename encryption
। এটি আপনাকে একটি সতর্কতা দিতে পারে এবং স্বাক্ষরগুলি ক্যাশে করতে বলতে পারে; আপনি উভয়কেই হ্যাঁ বলতে পারেন, তবে সঠিক মাউন্ট পাসফ্রেজ পেয়েছেন তা ডাবল-পরীক্ষা করে দেখুন।
আপনি যে বিকল্পগুলির mount
জন্য চেষ্টা করার সিদ্ধান্ত নিয়েছেন তা আপনি দেখতে পাবেন:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=aaaaaaaaaaaaaaaa
Mounted eCryptfs
স্বাক্ষরগুলি যদি ভুল হয় (আপনি যা পেয়েছেন তার সাথে মেলে না Private.sig
), মাউন্টটি কাজ করবে না।
... তবে এটি খুব অপ্রয়োজনীয়ভাবে রিপোর্ট করবে যে এটি করেছে। আপনাকে ls /mnt/plain
নিশ্চিত করতে একটি ফাইল ক্যাট করতে হবে cat এই মুহুর্তে আপনি এটিকে দেখতে /var/log/syslog
এবং যাচাই করতে পারেন যে ইক্য্রিপ্টফগুলি আমরা একই স্বাক্ষরগুলির সন্ধান করছে।
এ্যাক্রিপ্টস নিয়ে এখানে দুটি স্পষ্টতই দু'টি গুরুতর সমস্যা রয়েছে এবং সেগুলি সম্পর্কে আমাদের কাজ করতে হবে।
কার্নেলের মধ্যে কীগুলি লোড করুন
ইন্টারেক্টিভ মাউন্টটি যদি সহায়তা না করে তবে আমাদের নিজেরাই কার্নেলের মধ্যে কীগুলি লোড করতে হবে এবং মাউন্ট অপশনগুলিতে ম্যানুয়ালি সেগুলি নির্দিষ্ট করতে হবে।
# ecryptfs-add-passphrase --fnek
এবং উপরের থেকে অনুলিপি করা আপনার (অতি সংবেদনশীল) মাউন্ট পাসফ্রেজে পেস্ট করুন । এটি আউটপুট করা উচিত:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
ম্যানুয়ালি মাউন্ট
এখন পাসফ্রেসগুলি কার্নেলের মধ্যে লোড হয়ে গেছে এবং এগুলি ব্যবহারের জন্য আমাদের কেবল মাউন্টটি বলতে হবে:
# umount /mnt/plain
# mount -i -t ecryptfs -o ecryptfs_sig=aaaaaaaaaaaaaaaa,ecryptfs_fnek_sig=bbbbbbbbbbbbbbbb,ecryptfs_cipher=aes,ecryptfs_key_bytes=16 /mnt/crypt/.ecryptfs/user/.Private /mnt/plain
আপনি দেখতে পাচ্ছেন যে বিকল্পগুলি ইন্টারেক্টিভ মাউন্টটি কীভাবে মুদ্রিত হয়েছে তার সমান, আমরা ম্যানুয়ালি ইক্রিটিফসকে কী বলছি তা বাদ দিয়ে।
আশা করি এটি কাজ করে। যদি তা না হয় তবে আপনি keyctl list @u
যা যা সঠিকভাবে স্বাক্ষরগুলি ব্যবহার করে কার্নেলের মধ্যে কীগুলি লোড করা হয়েছে তা যাচাই করতে পারেন , যা আপনার প্রত্যাশা করছেন কমপক্ষে দুটি স্বাক্ষর মুদ্রণ করা উচিত।
ecryptfs-recover-private
একটি মাউন্ট (2) ত্রুটি আউটপুট যখন একটি workaround আছে । চালানোর চেষ্টা করুনsudo ecryptfs-manager
, 4 টিপুন (প্রস্থান করুন), তারপরে আবার আসলটি চালানecryptfs-recover-private
। এখনই কাজ করা উচিত