আমি কি ext4
উবুন্টু 15.04 এ কার্নেল 4.1 দিয়ে একটি নতুন এনক্রিপ্ট করা পার্টিশন তৈরি করতে পারি ?
আমি কি ext4
উবুন্টু 15.04 এ কার্নেল 4.1 দিয়ে একটি নতুন এনক্রিপ্ট করা পার্টিশন তৈরি করতে পারি ?
উত্তর:
প্রথমে অস্বীকৃতি অস্বীকার করুন: আমি এটি উবুন্টুর সাথে করিনি, তবে আমি সক্ষম EXT4_FS_ENCRYPTION
করে এমন একটি কাস্টম লিনাক্স ৪.২.৩ কার্নেল ব্যবহার করে ডেবিয়ান "স্ট্রেচ" ইনস্টল করেছিলাম machine
Kmeaw দ্বারা প্রদত্ত নির্দেশাবলী পোস্টের মতো ঠিক আমার পক্ষে কাজ করে না। কয়েকটি জিনিস বাকি ছিল (কমান্ড লাইন প্যারামিটার এবং পদক্ষেপ)।
e2fsprogs
উপরে প্রদর্শিত হিসাবে আপডেট করুনআপনার এলোমেলো লবণ উত্পাদন করুন। আমি এটি "নিরাপদ জায়গায়" সংরক্ষণের জন্য নিম্নলিখিত ব্যবহার করেছি:
head -c 16 /dev/urandom | xxd -p >~/tmp-salt.txt
echo 0x`cat ~/tmp-salt.txt` >~/.cryptoSalt
ফাইল সিস্টেমে ext4 এনক্রিপশন ব্যবহার করার জন্য, "এনক্রিপ্ট" পতাকাটি সুপার-ব্লকে সেট করতে হবে। Ext4 ফাইল সিস্টেমটি তৈরি করা হলে এটি ডিফল্ট নয়। E2fsprogs 1.43 বা তার থেকে "tune2fs" ইউটিলিটি ব্যবহার করে "এনক্রিপ্ট" বিকল্পটি সেট করুন:
sudo tune2fs -O encrypt /dev/sda4
ফাইল সিস্টেমটি মাউন্ট করুন বা পুনঃনির্মাণ করুন যাতে কার্নেল পরিবর্তন সম্পর্কে জানে (সম্ভবত এটি স্বয়ংক্রিয়, তবে আমি এটি কেবল একটি পৃথক পার্টিশনেই করেছি, তাই আমি নিশ্চিত নই))
এনক্রিপশন সক্ষম করা আছে এমন ফাইল সিস্টেমে একটি ডিরেক্টরি তৈরি করুন:
sudo mkdir -p /secret/home/$USER
sudo chown $USER:$USER /secret/home/$USER
কীরিংয়ে কী তৈরি করুন এবং ডিরেক্টরিটি এনক্রিপ্ট করার জন্য নীতি সেট করতে এটি ব্যবহার করুন ( sudo
কমান্ডটি এখানে প্রয়োজন হয় না):
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
$ /usr/bin/e4crypt set_policy 0132fed69f946c86 /secret/home/$USER
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
প্রতিটি পুনরায় বুট করার পরে, add_key
কমান্ডটি ডিরেক্টরি এবং এর বংশধরদের ডিক্রিপশন করার জন্য কীটি সেট করা যেতে পারে:
$ /usr/sbin/e4crypt add_key -S s:`cat ~/.cryptoSalt`
Enter passphrase (echo disabled):
Added key with descriptor [0132fed69f946c86]
আগের পদক্ষেপে ব্যবহৃত একই পাসওয়ার্ডটি প্রবেশ করান, এবং আপনাকে বর্ণনাকারী হেক্স স্ট্রিংটি মনে রাখতে হবে না।
আপনি add_key
সরাসরি ব্যবহার করতে পারেন । এটি একটি ফাইল সিস্টেম নির্দিষ্ট লবণ ব্যবহার করবে (সুতরাং এই বিভাগের অধীনে সমস্ত ফোল্ডারে একই লবণ থাকবে)
$ /usr/sbin/e4crypt add_key /secret/home/$USER
Added key with descriptor [0132fed69f946c86]
Key with descriptor [0132fed69f946c86] applies to /secret/home/theuser.
cp .. /secret/home/$USER/.
আমি পেয়েছি: «সিপি: নিয়মিত ফাইল তৈরি করতে পারে না '/secret/home/alexis/test-top-secret-image.svg': প্রয়োজনীয় কী নয় উপলব্ধ » । আমি স্রেফ আপনার নির্দেশনা অনুসরণ করেছি যাতে অনুমান করি যে কিছু পরিবর্তন হয়েছে।
/usr/bin/e4crypt
" এর দ্বিতীয় উদাহরণটি "/ [s] বিন" এ "গুলি" হারিয়েছে।
একটি ফাইল সিস্টেমের ডিরেক্টরিগুলি এনক্রিপ্ট করার জন্য লিনাক্স 4.1 একটি নতুন এক্সট 4 বৈশিষ্ট্য নিয়ে আসে। এনক্রিপশন কীগুলি কীরিংয়ে সংরক্ষণ করা হয়। শুরু করতে, নিশ্চিত হয়ে নিন যে আপনি সক্ষম করেছেন CONFIG_KEYS
এবং CONFIG_EXT4_FS_ENCRYPTION
কার্নেল বিকল্পগুলি এবং আপনার কাছে কার্নেল ৪.১ বা তার বেশি রয়েছে।
প্রথমত, আপনাকে e2fsprogs কমপক্ষে 1.43 সংস্করণে আপডেট করতে হবে যা লেখার সময় এখনও ডব্লিউআইপি তাই আমাদের গিট সংগ্রহস্থল থেকে এটি আনতে হবে :
$ git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
e4crypt উত্স তার উত্স কোডে একটি প্রাসঙ্গিক বিভাগ অক্ষম করেছে, এটি মিস / ই 4 ক্রাইপ.সিডি সম্পাদনা করে এবং 714 লাইনের নিকটে এই দুটি লাইন অপসারণের মাধ্যমে সক্ষম করুন:
printf("arg %s\n", argv[optind]);
exit(0);
এখন নতুন e2fsprogs তৈরি এবং ইনস্টল করুন:
$ sudo apt-get install devscripts build-essential gettext texinfo pkg-config debhelper m4
$ debuild
$ sudo dpkg -i e2fsprogs_1.43-WIP_amd64.deb
এখনই আপনার সংস্করণটি পরীক্ষা করুন, এটি 1.43-ডাব্লুআইপি হওয়া উচিত:
# e2fsck -V
e2fsck 1.43-WIP (18-May-2015)
Using EXT2FS Library version 1.43-WIP, 18-May-2015
কীগুলি নিয়ে কাজ করার জন্য, আমাদের keyutils
প্যাকেজটি ইনস্টল করতে হবে :
$ sudo apt-get install keyutils
আসুন একটি ডিরেক্টরি তৈরি করুন যা আমরা এনক্রিপ্ট করব। এনক্রিপশন নীতি শুধুমাত্র খালি ডিরেক্টরিতে সেট করা যেতে পারে:
$ sudo mkdir -p /encrypted/dir
প্রথমে একটি এলোমেলো লবণের মান উত্পন্ন করুন এবং এটি একটি নিরাপদ স্থানে সংরক্ষণ করুন:
$ head -c 16 /dev/random | xxd -p
877282f53bd0adbbef92142fc4cac459
এখন আপনার কিরিংয়ে একটি নতুন কী তৈরি করুন এবং যুক্ত করুন: প্রতিবার আপনার কীচেন ফ্লাশ করার সময় এই পদক্ষেপটি পুনরাবৃত্তি করা উচিত (রিবুট করুন)
$ sudo e4crypt -S 0x877282f53bd0adbbef92142fc4cac459
Enter passphrase (echo disabled):
Added key with descriptor [f88747555a6115f5]
এখন আপনি আপনার কীটির জন্য একটি বিবরণকারী জানেন। আপনি আপনার কীচেইনে একটি কী যুক্ত করেছেন তা নিশ্চিত করুন:
$ keyctl show
Session Keyring
1021618178 --alswrv 1000 1000 keyring: _ses
176349519 --alsw-v 1000 1000 \_ logon: ext4:f88747555a6115f5
প্রায় শেষ. এখন ডিরেক্টরিতে একটি এনক্রিপশন নীতি সেট করুন:
$ e4crypt set_policy f88747555a6115f5 /encrypted/dir
এখানেই শেষ. যদি আপনি কীচেইনে কোনও কী যুক্ত না করেই ডিস্ক অ্যাক্সেস করার চেষ্টা করেন তবে ফাইলের নাম এবং সেগুলির বিষয়বস্তুগুলি এনক্রিপ্টড গিব্বারিশ হিসাবে দেখা যাবে। আপনার ফাইল সিস্টেমে e2fsck এর পুরানো সংস্করণগুলি চালনার বিষয়ে সতর্কতা অবলম্বন করুন - এটি এনক্রিপ্ট করা ফাইলের নামগুলি অবৈধ হিসাবে বিবেচনা করবে।