كيفية تشفير مجلد Home

لمن يحتاج لتشفير كامل ملفاته الشخصية, هذه هي الطريقة.(لا ينصح به للمبتدئين)



المتطلبات

1. نسخ كافة ملفاتك الشخصية إلى جهاز آخر أو أي وسيلة تخزين خارجية.  بعض التعليمات خطيرة, وقد تتسبب في خسارة ملفاتك,
أو بمنعك إلى الدخول إلى النظام, رجاء اتبع التعليمات التالية بحذر.

2. أن يكون لديك سعة تخزين كافية. لأنك ستحتاج لضعف مساحة المجلد الشخصي Home. بافتراض أن العملية تمت بنجاح ة اصبحت  ملفاتك مشفرة, تستطيع عندها استعادة المساحة التي فقدتها بحذف الملفات الغير مشفرة

du -sh $HOME
df -h $HOME
3. أن تملك صلاحيات المدير (root)

4. أن تثبت برنامج ecryptfs-utils
sudo apt-get install ecryptfs-utils 
 5. العملية تتطلب أن يكون المجلد الشخصي فارغا, إن كان يوجد أي شيء داخل مجلد HOME/Private directory$ يرجى نقله  لمكان آخر و اتبع الأوامر في :
ecryptfs-setup-private --undo
التعليمات

أخرج من جميع أسطح المكتب, نحتاج لأن نكون متأكدين من أنه لا يوجد معالج يقرأ من / يكتب في المجلد الشخصي, لذا سيكون العمل من خلال الواجهة النصية عبر الضغط على (Ctrl + alt +F1) معا .

ادخل إلى حسابك و Encrypted Private directory:

login
ecryptfs-setup-private
نخرج logout ثم ندخل من جديد و نتثبت من أن المجلد الشخصي قد تم عمل mount له,
exit
login
mount | grep "$USER.*ecryptfs" 
استعمل rsync لنسخ كافة ملفاتك إلى الملف المشفر الجديد, إن كنت حجم معلوماتك الشخصية كبيرا فستأخذ العملية وقتا طويلا. كن متأكدا من أن العملية قد تمت بنجاح لأنها خطوة رئيسية في انجاح العملية ( أعاد الكاتب العملية ثلاث مرات حتى تمت بنجاح)
rsync -aP --exclude=.Private --exclude=Private \ --exclude=.ecryptfs $HOME/ $HOME/Private/ 
نقوم بعمل مزامنة للقرص Sync يليها unmout ف logout  و أخيرا login من جديد ( و لكن نبقى على الواجهة النصية)

sync && sync && sync
ecryptfs-umount-private
exit
login 
نقوم بإعدادات eCryptfs على المجلد (يبدو مفزعا مشاهدة كل هذه اﻷوامر و لكن اﻷمر بسيط قمنا بعمل مجلد مخفي داخل home و أعطيناه الصلاحيات الكافية كما استخدمنا chown لجعله تابعا للمستخدم الحالي بدل root)

ecryptfs-umount-private
cd /
sudo mkdir -p /home/.ecryptfs/$USER
sudo chown $USER:$USER /home/.ecryptfs/$USER
mv $HOME/.ecryptfs /home/.ecryptfs/$USER/
mv $HOME/.Private /home/.ecryptfs/$USER/
sudo chmod 700 /home/.ecryptfs/$USER/.Private
sudo chmod 700 /home/.ecryptfs/$USER/.ecryptfs

إعدادات المجلد الجديد الذي قمنا بعمل umount له.

sudo mkdir -p -m 700 /home/$USER.new
sudo chown $USER:$USER /home/$USER.new
ln -sf /home/.ecryptfs/$USER/.ecryptfs \
/home/$USER.new/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private \
/home/$USER.new/.Private
إزاحة الملف الغير مشفر بعيدا

sudo mv $HOME $HOME.old
 تفعيل الملف الجديد و عمل unmount لل مجلد Home عبر اعادة تسميته,

sudo mv /home/$USER.new $HOME
echo $HOME > $HOME/.ecryptfs/Private.mnt
ln -sf \
/usr/share/ecryptfs-utils/ecryptfs-mount-private.txt \
$HOME/README.txt
sudo chmod 500 $HOME
نخرج ثم ندخل من جديد و نتثبت من أن كل شيء بخير ( وقع عمل mount و لديك رابط للمجلد الشخصي)

exit
login
mount | grep "$USER.*ecryptfs"
ln -sf /home/.ecryptfs/$USER/.ecryptfs \
/home/$USER/.ecryptfs
ln -sf /home/.ecryptfs/$USER/.Private \
/home/$USER/.Private

تثبت من أن كل شيء في مكانه و أن كل الملفات في مكانها. إن كان كل شيء بخير نقوم بحذف المجلد القديم الذي لم نعد نحتاجه عبر حذف مجلد old و الذي يحتوي على معلومات غير مشفرة.

sudo rm -rf $HOME.old
كلمة أخيرة
 لم أقم بتجربة كل ما يوجد في الشرح بل اكتفيت بنقله من خلال موقع أجنبي إلى أن الطريقة تعمل من خلال ردود الأفعال الموجودة في المصدر, كذلك أرجو ممن يرغب في تطبيق الشرح و يكون غير متأكد من المراحل بتجربتها على نظام افتراضي قبل أن يجربها مباشرة على جهازه, و للتذكير فإن العملية ممكن القيام بها بأمان كخيار عند تنصيب إحدى التوزيعات من البداية و دمتم بخير.

المصدر



1 comments: