مقدمه :
خواه ناخواه کامپیوترها جزوی از زندگی ما شدهاند و اغلب حاوی اطلاعات شخصی و محرمانه کاربران خود هستند؛ ولی آیا مخفی کردن یک فایل یا پوشه و یا انتقال آنها به زیرمسیرهای بیپایان انتخاب امنی برای حفاظت از آنها محسوب میشود؟ میتوان به صراحت گفت خیـــر. کافیست یک شخص آشنا به کامپیوتر برای چند دقیقه سیستم شما را در دست بگیرد تا یک دستهبندی بینقص از تمام اطلاعات شما را برایتان آماده کند. پس زیاد دلخوش نباشید که اطلاعات شما از امنیت کافی برخوردار است. اما آیا راه حلی برای حفظ اطلاعات به صورتی که دست کسی به آنها در هر صورتی نرسد وجود دارد؟ پاسخ به این یکی سؤال بلـــــــه است؛ چرا که یک روش رمزنگاری در گنو/لینوکس وجود دارد که به شما اطمینان میدهد که فقط خود شما به اطلاعات پارتیشنِ دلخواهتان دسترسی داشته باشید.
تذکر بسیار مهم: این سند فقط یک آموزش برای رمزنگاری یک پارتیشن است. در این آموزش فرض بر آن قرار گرفته که شما پارتیشن sdc8 را برای اینکار در نظر گرفتهاید. بدیهیست در صورت ورود مقادیر اشتباه اطلاعات پارتیشنی که وارد کردهاید به طور کلی حذف خواهد شد. چنانچه مسئولیت هر گونه خرابکاری که ناشی از عدم دقت شما میباشد را میپذیرید مقاله را دنبال کنید.
اغلب پارتیشنهای شما با ترکیب sdXX قابل شناسایی هستند. X اول مربوط به دیسک سخت و یا حافظهی فلش و X دوم مربوط به شمارهی پارتیشن میشود. شما میتوانید با استفاده از دستور fdisk -l مقدار فوق vh برای هر کدام از پارتیشنهای خود به دست آورید.
نصب cryptsetup
ابتدا برنامهی cryptsetup را نصب کنید. نصب این برنامه در توزیعهای مختلف متفاوت است. کافیست مخازن توزیع خود را برای نصب این برنامه جستجو کنید.
برای نصب در اوبونتو:
#apt-get install cryptsetup
برای نصب در فدورا:
yum install cryptsetup-luks
برای نصب در آرچ:
# pacman -S cryptsetup
آماده کردن سیستم
ما پارتیشن sdc8 را خالی کردیم تا با خیال راحت این پارتیشن را به یک پارتیشن رمزنگاری شده تبدیل کنیم. Cryptsetup فایلهای داخل پارتیشن مورد نظر را حذف خواهد کرد پس جایی برای ریسک کردن وجود ندارد. شما بعد از ساخت این پارتیشن میتوانید با خیال راحت و با امنیت کامل فایلهای خود را در داخل آن کپی کنید؛ چرا که اطلاعات شما با کلمهی عبوری که شما مشخص میکنید امن خواهد بود. البته در نظر داشته باشید با فراموشی رمز عبور بهتر است قید اطلاعات آن پارتیشن را نیز بزنید!
ساخت پارتیشن
برای ساخت پارتیشن دستور زیر را با مجوز ریشه صادر کنید
# cryptsetup --verbose --verify-passphrase -c aes-cbc-plain luksFormat /dev/sdc8 WARNING! ======== This will overwrite data on /dev/sdc8 irrevocably. Are you sure? (Type uppercase yes): YES Enter LUKS passphrase: Verify passphrase: Command successful.
توجه کنید sdc8 شما نابود خواهد شد. این مقدار میتواند بر حسب نیاز شما متفاوت باشد. در حین کار دو مرتبه از شما کلمهی عبور درخواست میشود که باستی در هر دو مرتبه کلمهی عبور مورد نظر خود را وارد کنید.
اکنون شما بایستی یک نام با قابلیت سوار شدن برای این پارتیشن بسازید. در اینجا ما نام sdc8 را انتخاب کردیم. شما میتوانید نامهای متفاوت دیگری نیز انتخاب کنید. دستور زیر را صادر کنید:
# cryptsetup luksOpen /dev/sdc8 sdc8 Enter LUKS passphrase: key slot 0 unlocked. Command successful.
بعد از وارد کردن کلمهی عبور، پارتیشن شما در دسترس قرار میگیرد. اکنون شما باید آن را در /dev/mapper به صورت یک بلاک دیوایس مشاهده کنید:
$ ls -l /dev/mapper total 0 crw-rw---- 1 root root 10, 63 2007-06-09 18:38 control brw-rw---- 1 root disk 254, 0 2007-06-09 19:46 sdc8
نوبت قرار دادن یک فایلسیستم بر روی این پارتیشن رسیده است:
# mkfs.ext3 /dev/mapper/sdc8
سوار کردن پارتیشن
در ادامه بایستی یک نقطهی اتصال برای سوار کردن پارتیشن مورد نظر ایجاد کنیم. به یاد داشته باشید که بایستی از نام دیوایسی که در /dev/mapper/ قرار دارد استفاده کنیم. ما این مسیر را در دایرکتوری خانگی خود قرار میدهیم. دستور زیر را برای ساخت یک دایرکتوری با نام crypted در مسیر خانگی با مجوز کاربر عادی وارد کنید:
$ mkdir ~/crypted
اکنون پارتیشن را به این مسیر متصل کنید؛ برای اینکار لازم است از مجوزهای ریشه کمک بگیرید:
# mount /dev/mapper/sdc8 /home/me/crypted
برای مشاهدهی اینکه پارتیشن به درستی سوار شده دستور زیر را صادر کنید:
# df -H [...] Filesystem Size Used Avail Use% Mounted on /dev/mapper/sdc8 7.9G 152M 7.3G 3% /home/eman/crypted
اکنون برای اطمینان از کار خود به مسیر آن بروید و یک فایل در آن ایجاد کنید:
# cd /home/eman/crypted # nano test # ls lost+found test
تغییر مجوزها
تا اینجای کار به خوبی پیش رفته اما بایستی بدانید که تنها کاربر ریشه به این پارتیشن دسترسی دارد. شما میتوانید با مدیریت فایل fstab، این فایل سیستم را برای کاربران با مجوزهای دیگر نیز آماده کنید.
بدین منظور خط زیر را به فایل /etc/fstab اضافه کنید:
/dev/mapper/sdc8 /home/eman/crypted ext3 user,atime,noauto,rw,dev,exec,suid 0 0
توجه کنید مسیر /home/eman/crypted بسته به مسیری که شما پیشتر برای اتصال انتخاب کردید متفاوت است.
اکنون کاربر eman میتواند بدون داشتن مجوزی و با استفاده از خط فرمان این پارتیشن را سوار کند:
$ mount ~/crypted
اما این کاربر هنوز مجوز نوشتن بر روی این پارتیشن را ندارد. با استفاده از مجوز ریشه و صادر کردن دو دستور زیر این مشکل را نیز برطرف میکنیم:
# chown eman:eman /home/eman/crypted/ # chmod 0700 /home/eman/crypted/
اکنون میتوانید این پارتیشن را unmount و آن را ببندید:
$ umount crypted # cryptsetup luksClose sdc8
مرتبهی بعد برای باز کردن و دسترسی به اطلاعات این پارتیشن کافیست دستورات زیر را صادر کنید:
# cryptsetup luksOpen /dev/sdc8 sdc8 $ mount ~/crypted
اگر شما پسورد این پارتیشن را فراموش کردید بایستی آن را حذف کنید پس انتظار نداشته باشید اطلاعاتش را دو دستی تقدیم شما کند.
برای اجرای cryptsetup شما به هر حال نیاز به (مجوز) کاربر ریشه دارید پس اگر دسترسی (به مجوزهای) ریشه ندارید بهتر است از خیر آن بگذرید.
کاربرانی که از فایل منیجر دلفین (فایل منیجر KDE) استفاده میکنند بعد از ساخت این پارتیشن نیازی به خط فرمان نخواهند داشت چرا که این پارتیشن توسط دلفین به خوبی سوار میشود. برای این منظور بر روی این پارتیشن در قسمت places دلفین کلیک کنید.
سپس کلمهی عبور مربوط به پارتیشن را وارد کنید:
و در نهایت کلمهی عبور کاربر ریشه را وارد کنید:
اکنون به راحتی و بدون دردسر به اطلاعات این پارتیشن دسترسی دارید بدون اینکه دیگر نیاز باشد حتی ترمینال را باز کنید.
برگرفته از +