سامبا (نرم‌افزار)

سامبا یک نرم‌افزار آزاد است که پروتکل شبکه SMB/CIFS را اجرای مجدد می‌کند و در اصل بوسیله اندرو تریدگل ایجاد شده است.از نسخه ۳ سامبا خدمات پرینت و فایل را برای کلاینت‌های مایکروسافت ویندوز مختلف فراهم می‌کند و می‌تواند با ویندوز سرویس دومین به عنوان کنترل کننده دامنه اولیه (PDC) یا به عنوان عضو دامنه ادغام شود. سامبا همچنین می‌تواند بخشی از Active Directory باشد.
سامبا روی اکثر سیستم‌های یونیکس و شبه یونیکس مانند گنو/لینوکس، سولاریس، AIX، و انواع بی‌اس‌دیها شامل اواس ده سرور اپل (که در نسخه ۱۰.۲ برای اواس ده کلاینت نیز اضافه شده است) اجرا می‌شود. سامبا استاندارد تقریبا تمام توزیع‌های لینوکس است و معمولا به عنوان یک سیستم سرویس اصلی روی دیگر سیستم‌عامل‌های شبه یونیکس گنجانده شده است. سامبا تحت پروانه عمومی همگانی گنو منتشر شده است. نام سامبا از SMB که مخفف (Server Message Block) است و نام پروتکل استاندارد استفاده شده توسط سیستم پرونده شبکه مایکروسافت ویندوز است گرفته شده است.
تاریخچه اولیه
اندرو تریدگل در دسامبر ۱۹۹۱ و ژانویه ۱۹۹۲ اولین نسخه از سامبا یونیکس را به عنوان یک دانشجوی دکتری (PhD) در دانشگاه ملی استرالیا و با استفاده از نرم‌افزار اسنیفر بسته‌های شبکه با هدف تجزیه و تحلیل پروتکل شبکه‌ای با استفاده از سرور DEC Pathworks توسعه داد. در زمان اولین انشارها نسخه ۰.۱ و ۰.۵ و ۱.۰ در نیمه ژانویه ۱۹۹۲، سامبا یک نام مناسب نداشت و Tridgell این برنامه را فایل سرور یونیکس برای Dos Pathworks می‌نامید. در زمان انتشار نسخه ۱.۰ متوجه شد که در واقع پروتکل نت‌بایوس را پیاده سازی کرده است و این نرم‌افزار می‌تواند با دیگر کلاینت‌های پی‌سی استفاده شود.
با تمرکز بر هم‌کنش‌پذیری با مدیر شبکه مایکروسافت، Tridgell نت‌بایوس برای یونیکس، nbsever، نسخه ۱.۵ را در دسامبر ۱۹۹۳ منتشر کرد. این نسخه اولین نسخه‌ای بود که علاوه بر سرور شامل نرم‌افزار کلاینت نیز بود. همچنین در این زمان جی‌پی‌ال۲ به عنوان مجوز برنامه انتخاب شد.
در اواسط سری ۱.۵، نام به smbserver تغییر کرد. با این حال Tridgell یک اخطار علامت تجاری از شرکت Syntax دریافت کرد که اعلام می‌کرد که یک محصول به نام TotalNet Advanced Server با نام تجاری SMBserver به فروش می‌رسانند. نام سامبا با اجرای دستور grep در فرهنگ لغت سیستم برای جستجو به دنبال کلماتی که حروف S و M و B را داشته باشد (به عنوان مثال grep -i ^s.*m.*b /usr/share/dict/words) به دست آمد.
نسخه ۲.۰.۰ در ژانویه ۱۹۹۹ و نسخه ۲.۲.۰ در آوریل ۲۰۰۱ منتشر شد.
تاریخچه نسخه‌ها
نسخه ۳.۰.۰ که در ۲۳ سپتامبر ۲۰۰۳ منتشر شد یک ارتقا اصلی بود. سامبا توانایی پیوستن به اکتیو دایرکتوری را به عنوان یک عضو (اما نه به عنوان کنترلر دامنه) به دست آورد. نسخه بعدی انتشار ۳.۰ ویژگی‌های کوچکی را افزود. در حال حاضر آخرین نسخه در این سری ۳.۰.۳۷ است که در ۱ اکتبر ۲..۹ منتشر شد و بصورت داوطلبانه عرضه می‌شود. سری ۳.۰.X در ۵ اوت ۲۰۰۹ رسما به پایان عمر خود رسید.
نسخه ۳.۱ تنها برای توسعه مورد استفاده قرار گرفت.
با نسخه ۳.۲ پروژه تصمیم گرفت به سمت نسخه‌های مبتنی بر زمان حرکت کند. نسخه‌های جدید مانند ۳.۳ و ۳.۴ و … هر ۶ ماه منتشر خواهند شد. ویژگی‌های جدید هنگامی که یک انشار عمده انجام شود افزوده خواهند شد. نقطه انشار فقط برای رفع اشکالات خواهد بود. همچنین در ۳.۲ مجوز از جی‌پی‌ال ۲ به جی‌پی‌ال ۳ تغییر کرد همچنین برخی از بخش‌ها تحت مجوز گنو ال‌جی‌پی‌ال ۳ منتشر شد. تغییر فنی اصلی در نسخه ۳.۲ تولید خودکار بسیاری DCE/RPC-code است که برای اینکه صنایع دستی باشد استفاده می‌شود. نسخه ۳.۲.۰ در ۱ ژوئیه ۲۰۰۸ منتشر شد. و تنها برای رفع مشکلات امنیتی به روز خواهد شد و نسخه فعلی ۳.۲.۱۵ است که در ۱ اکتبر ۲۰۰۹ منتشر شده است. سری ۳.۲.x بصورت رسمی در ۱ مارس ۲۰۱۰ به پایان عمر خود رسید.
نسخه ۳.۳.۰ در ۲۷ ژانویه ۲۰۰۹ منتشر شد و در حال حاضر ۳.۳.۱۶ در این شاخه است.
نسخه ۳.۴.۰ در ۳ ژوئیه ۲۰۰۹ منتشر شد. این اولین نسخه‌ای بود که سورس هر دو نسخه سامبا ۳ و سامبا ۴ را شامل می‌شد.
نسخه ۳.۴.۱۴ در ۲۶ ژوئیه ۲۰۰۱ منتشر شد. این آخرین نسخه پایدار ازسری ۳.۴ سامبا است.
نسخه ۳.۵.۰ در ۱ مارس ۲۰۱۰ منتشر شد. این اولین نسخه شامل پشتیبانی آزمایشی برای SMB2 بود.
نسخه ۳.۵.۱۱ در تاریخ ۴ اوت ۲۰۱۱ منتشر شد. این آخرین نسخه پایدار از سری ۳.۵ سامبا است.
نسخه ۳.۶.۰ در تاریخ ۹ آگوست ۲۰۱۱ منتشر شد. این اولین شاخه است که بطور کامل از SMB2 پشتیبانی می‌کند.برنامه ریزی شده است که نسخه ۴.۰ بازنویسی شود تا پشتیبانی از کنترل کننده اکتیو دایرکتوری فعال شود. بعد از سه سال از توسعه اولین پیش نمایش فنی (۴.۰.۰TP1) در ژانویه ۲۰۰۶ منتشر شد. پس از آن پیش نمایش‌های جدید و نسخه آلفا منتشر شد. جدیدترین نسخه ۴.۰.۰ آلفا ۱۹ در ۱۰ آوریل ۲۰۱۲ منتشر شده است.
امکانات
سامبا اجازه اشتراک فایل و چاپ بین رایانه‌های با سیستم‌عامل ویندوز و رایانه‌های یونیکس را می‌دهد. این یک پیاده سازی از ده‌ها سرویس و پروتکل شامل موارد این موارد است:
نت‌بایوس از طریق مجموعه پروتکل اینترنت TCP/IP (NBT).
SMB
CIFS (نسخه پیشرفته‌تر از SMB)
DCE/RPC یا به طور خاص، MSRPC، مجموعه محله از پروتکل‌های شبکه.
سرور WINS که همچنین به عنوان سرور نام نت‌بایوس (NBNS) شناخته می‌شود.
مجموعه پروتکل‌های NT Domain شامل NT Domain Logon.
پایگاه داده مدیر خساب ایمل (SAM)
سرویس Local Security Authority (LSA).
سرویس چاپ به سبک NT (SPOOLSS)، NTLM و active Directory Logon جدید که شامل یک نسخه اصلاح شده از kerberos و یک نسخه اصلاح شده از LDAP می‌باشد.
همه این پروتکل‌ها و سرویس‌ها اغلب به اشتباه تنها به عنوان نت بایوس یا SMB نامیده می‌شوند. پروتکل نت‌بایوس و WINS بروی ویندوز توصیه می‌شوند.
سامبا اشتراک گذاری تحت شبکه را برای دایرکتوری یونیکس انتخاب شده (از جمله تمام زیرشاخه‌های موجود) برپا می‌کند. این دایرکتوری‌ها برای کاربران ویندوز مایکروسافت به عنوان یک پوشه ویندوز عادی به اشتراک گذاشته شده تحت شبکه به نظر می‌آید. کاربران یونیکس میتوانند پوشه‌های به اشتراک گذاشته شده(shared) را به طور مستقیم به عنوان بخشی از ساختار فایل خودشان با استفاده از دستور smbmount مونت کنند یا به طور جایگزین با ابزار smbclient (libsmb) نصب شده با سامبا، پوشه و فایلهای به اشتراک گذاشته شده را با یک واسط شبیه برنامه استاندارد خط فرمان اف‌تی‌پی بخوانند. هر دایرکتوری می‌تواند حق دسترسی متفاوتی داشته باشد. برای مثال دایرکتوری خانه (home) باید دسترسی خواندن/نوشتن برای همه کاربران شناخته شده داشته باشد و به هر کدام اجازه دسترسی به فایلهای خودشان را بدهد. با این حال همچنان نباید به فایلهای دیگران دسترسی داشته باشند مگر اینکه به طور معمول اجازه وجود داشته باشد. توجه داشته باشید اشتراک گذاری netlogon (به طور معمول به عنوان اشتراک گذاری فقط خواندنی از /etc/samba/netlogon توزیع شده است) دایرکتوری لاگین برای اسکریپت‌های لاگین کاربر است.
سرویس‌های سامبا در دو دایمن انجام شده است:
smbd که خدمات اشتراک فایل و پرینتر را انجام می‌دهد و
nmbd که سرویس نام نت‌بایوس به تی‌سی‌پی/آی‌پی آدرس را انجام می‌دهد. نت‌بایوس روی تی‌سی‌پی/آی‌پی نیاز به برخی روشها برای نقشه‌برداری کردن نام نت‌بایوس کامپیوتر به آدرس آی‌پی یک شبکه تی‌سی پی/آی‌پی دارد.
سامبا با ویرایش یک فایل (به طور معمول /etc/smb.conf یا /etc/samba/smb.conf) پیکربندی می‌شود. سامبا همچنین می‌تواند اسکریپت اجرای لاگین و خط‌مشی‌های گروه را از طریق poledit ارائه کند.
سامبا در اکثر توزیع‌های لینوکس گنجانده شده است و در طول فرایند بوت لود می‌شود. در ردهت، به عنوان مثال، /etc/rc.d/init.d/smb در زمان بوت اجرا می‌شود و هر دو دایمن را اجرا می‌کند. سامبا در سولاریس گنجانده نشده است اما یک نسخه سازگار با سولاریس ۸ از سایت سامبا در دسترس است.
سامبا یک ابزار مدیریت تحت وب به نام ابزار مدیریت تحت وب سامبا (SWAT) دارد.
سامبا TNG
سامبا TNG (مخفف The Next Generation یا نسل بعدی) در اواخر ۱۹۹۹ پس از اختلافات میان رهبران تیم سامبا و لوقا لیتون در مورد جهت‌دهی پروژه سامبا فورک شد.
نرم‌افزار آزاد