بارگنج‌های لینوکس

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
Linux Containers
Linux Containers logo.png
توسعه‌دهنده(ها)
  • Kernel: Virtuozzo, IBM, Google, Eric Biederman and others
  • Userspace: Daniel Lezcano, Serge Hallyn, Stéphane Graber and others
انتشار ابتدایی ۶ اوت، ۲۰۰۸؛ ۹ سال پیش (۲۰۰۸-۰۸-06)[۱]
انتشار پایدار 2.0.6[۲] / ۲۳ نوامبر ۲۰۱۶؛ ۹ ماه پیش (۲۰۱۶-۱۱-23)
نوشته‌شده به C, Python, Shell, Lua
سیستم‌عامل Linux
سکو x86, IA-64, PowerPC, SPARC, Itanium, ARM
گونه OS-level virtualization
پروانه GNU LGPL v.2.1 (some components under GNU GPL v2 and BSD)
وب‌گاه linuxcontainers.org

بارگُنج‌های لینوکس[۳] یا کانتینرهای لینوکس (به انگلیسی: Linux Containers) LXC یک روش مجازی سازی سطح سیستم عامل است که برای اجرای سیستم‌های لینوکس ایزوله بر روی یک میزبان کنترلی با استفاده از یک تک هستهٔ لینوکس است.

هستهٔ لینوکس قابلیت cgroups را فراهم می‌کند که اجازه می‌دهد تا محدودیت و اولویت بندی منابع (CPU, memory, بلوک، I/O, شبکه، و غیره) بدون نیاز به روشن کردن هیچ ماشین مجازی ای و همچنین قابلیت فضای نام ایزوله که اجازهٔ انزوای کامل یک برنامهٔ کاربردی، نمایی از محیط اجرایی شامل درخت‌های فرایند، شبکه، مشخصه‌های کاربر و سیستم فایل‌های سوارشده است.[۴]

LXC هستهٔ cgroups را ترکیب می‌کند از فضای نام ایزوله برای محیا کردن یک محیط ایزوله برای برنامه‌های کاربردی پشتیبانی می‌کند. Docker نیز می‌تواند از LXC به عنوان یکی از درایورهای اجرایی استفاده کند که قادر به مدیریت تصویر و ارائهٔ خدمات استقرار است.

بررسی اجمالی[ویرایش]

LXC مجازی سازی سطح سیستم عامل را از طریق یک محیط مجازی که دارای فضای شبکه و فرایند خودش است را به جای ساختن یک ماشین مجازی کامل را محیا می‌کند. LXC متکی به قابلیت هستهٔ لینوکس cgroups است که در نسخهٔ ۲٫۶٫۲۴ منتشر شده بود و همچنین متکی به قابلیت ایزوله سازی فضای نام‌های نوع‌های دیگر است که توسعه یافته و یکپارچه شده با هسته اصلی لینوکس است.

امنیت[ویرایش]

در اصل بارگُنج‌های LXC به اندازهٔ روش‌های دیگر مجازی سازی سطح سیستم عامل مانند OpenVZ امن نبود. درهستهٔ لینوکس قبل از نسخهٔ ۳٫۸ کاربر ریشهٔ سیستم مهمان قادر به اجرای کد دلخواه در سیستم میزبان با ریشه ممتاز بود که بسیار شبیه chroot است.[۵]با شروع انتشار LXC 1.0، اجرای بارگُنج‌ها به عنوان کاربران عادی در میزبان با استفاده از بارگُنج‌های غیرممتاز ممکن شد. بارگُنج‌های غیرممتاز بیشتر در دسترسی مستقیم به سخت‌افزار محدود هستند. با این اوصاف حتی بارگُنج‌های ممتاز اگر درست پیکربندی شوند باید ایزوله سازی کافی را در مدل امنیتی LXC 1.0 فراهم کنند.[۶]

جایگزین‌ها[ویرایش]

LXC شبیه به دیگر تکنیک‌های مجازی سازی سطح سیستم عامل مانند OpenVZ و لینوکس-VServer است و به خوبی آنهایی است که روی سیستم‌های عامل دیگر مانند FreeBSD، پارتیشنهای حجم کار AIX و بارگُنج‌های سولاریس اجرا می‌شوند. در مقایسه با OpenVZ، ال ایکس سی در هستهٔ لینوکس Vanilla بدون نیاز به هیچ پچی کار می‌کند. نسخهٔ LXC 1 که در ۲۰ فوریه ۲۰۱۴ منتشر شد یک نسخهٔ پشتیبانی شدهٔ دراز مدت است و در نظر گرفته شده است که برای پنج پشتیبانی می‌شود.[۷]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. "LXC - Linux Containers". linuxcontainers.org. Retrieved 2014-11-10. 
  2. "Linux Containers - LXC - News". linuxcontainers.org. Retrieved 3 January 2017. 
  3. بارگنج واژهٔ مصوب فرهنگستان زبان و ادب پارسی به جای container در انگلیسی است.
  4. Rami Rosen (May 2013). "Resource management: Linux kernel namespaces and cgroups" (PDF). cs.ucsb.edu. Retrieved February 11, 2015. 
  5. Marco, d'Itri (2011). "Evading from linux containers". Archived from the original on 9 January 2014. Retrieved 12 February 2014. 
  6. Graber, Stéphane (1 January 2014). "LXC 1.0: Security features [6/10]". Retrieved 12 February 2014. However, at least in Ubuntu, our default containers ship with what we think is a pretty good configuration of both the cgroup access and an extensive apparmor profile which prevents all attacks that we are aware of. [...] LXC is no longer running as root so even if an attacker manages to escape the container, he’d find himself having the privileges of a regular user on the host 
  7. Stéphane Graber (2013-12-20). "LXC 1.0: Your first Ubuntu container". Stgraber.org. Retrieved 2014-02-23. 

پیوند به بیرون[ویرایش]