سه شنبه, ۹ بهمن, ۱۴۰۳ / 28 January, 2025
مجله ویستا

رمزگذاری با کمک EncFSclose


رمزگذاری با کمک EncFSclose

هر توزیع لینوکس مدرنی می تواند کل دایرکتوری Home را رمزگذاری کند اما گاهی اوقات نمی خواهیم تمام این دایرکتوری ها را رمزگذاری کنیم یا تمایل داریم این کار را در خصوص دایرکتوری های خاص انجام دهیم

هر توزیع لینوکس مدرنی می‌تواند کل دایرکتوری Home را رمزگذاری کند. اما گاهی اوقات نمی‌خواهیم تمام این دایرکتوری‌ها را رمزگذاری کنیم یا تمایل داریم این کار را در خصوص دایرکتوری‌های خاص انجام دهیم. در این صورت می‌توانیم از EncFS استفاده کنیم که سیستم فایلی مبتنی بر FUSE است. این سیستم فایل در عرض چند ثانیه می‌تواند هر دایرکتوری‌ را رمزگذاری یا رمزگشایی کند. این سیستم فایل روی سیستم فایل فعلی سوار می‌شود و با ورود صحیح یک رمز می‌تواند دایرکتوری مورد نظر را باز کند.

بیایید فرض کنیم شما کاربر جدی لپ‌تاپ هستید و هر جا می‌روید از آن استفاده می‌کنید. همچنین از ssh نیز زیاد استفاده می‌کنید و برای خود کلید ssh هم ساخته‌اید. همچنین برای راحتی خود، بدون رمز عبور یک کلید خصوصی ساخته‌اید (هر چند ایده خوبی نیست). برای دسترسی ساده‌تر، کلید ssh خود را در سرورهای عمومی قرار داده‌اید. مشکل این روش این است که اگر کسی پشت لپ‌تاپ شما بنشیند، فورا می‌تواند به تمام سرویس‌هایی که با کلید ssh شما کار می‌کند، دسترسی پیدا کند. در این مطلب، این دایرکتوری را رمزگذاری کرده و از وقوع چنین مشکلاتی پیشگیری می‌کنیم.

● نصب

برای نصب این سیستم‌فایل، اگر توزیع لینوکسی دست‌سازی نداشته باشید، می‌توانید آن را در مخازن استاندارد لینوکس پیدا کنید.

برای نصب در اوبونتو یا دبیان از دستور زیر استفاده کنید:

$ sudo apt-get install encfs

برای نصب در فدورا، ردهت یا CentOS از دستور زیر استفاده کنید:

$ sudo yum install encfs

ایجاد دایرکتوری رمزگذاری شده

همان طور که قبلا شرح داده شد، می‌خواهیم دایرکتوریssh. را رمزگذاری کنیم. اما قبل از آن باید دایرکتوری رمزگذاری شده را ایجاد کنیم. برای این کار دستور زیر را بزنید:

$ encfs ~‌/‌encryptdir‌/‌ ~‌/‌decryptdir‌/‌

نکاتی در مورد این‌که چنین دایرکتوری‌هایی وجود ندارد، پرسیده خواهد شد که کافی است پاسخ yes را بدهیم. همچنین باید یک رمز عبور انتخاب کنیم. مطمئن باشید این رمز را فراموش نخواهید کرد؛ زیرا هیچ در پشتی (backdoor) برای دسترسی به‌فایل‌ها بدون رمز عبور وجود ندارد. حالا که دایرکتوری خود را رمزبندی کرده‌اید، هر چیزی که در ‌decryptdir‌ ~‌/قرار دهید، به‌طور خودکار رمزگذاری شده و به ‌encryptdir ~‌/منتقل خواهد شد.

$ ls ~‌/‌encryptdir

$ ls ~‌/‌decryptdir

$ touch ~‌/‌decryptdir‌/‌file

$ ls ~‌/‌decryptdir

file

$ ls ~‌/‌encryptdir

wZ۸fQPHUR۴mtUdI۴Tx۰RWIcJ

$ rm ~‌/‌decryptdir‌/‌file

استفاده از دایرکتوری رمزگذاری شده

در این مرحله می‌توانیم دایرکتوریssh‌. خود را با دایرکتوری‌decryptdir ​~‌/لینک کنیم:

$ mv.ssh‌/‌ ~‌/‌decryptdir‌/‌

$ ln -s ~‌/‌decryptdir‌/‌.ssh‌/‌.ssh

از این به‌بعد تا وقتی دایرکتوری ‌encryptdir​ ~‌/ سوار شده باشد، دایرکتوری.ssh قابل دسترس خواهد بود. همچنین می‌توان باقی دایرکتوری‌ها را نیز به همین روش رمزگذاری کرد.

اگر بخواهیم دیگر از دایرکتوری رمزگذاری شده خود استفاده نکنیم، کافی است از دستور unmount استفاده کنیم:

$ fusermount -u ~‌/‌decryptdir