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

سامبا  یک نرم‌افزار آزاد است که پروتکل شبکه 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 یا نسل بعدی) در اواخر ۱۹۹۹ پس از اختلافات میان رهبران تیم سامبا و لوقا لیتون در مورد جهت‌دهی پروژه سامبا فورک شد.

 جستارهای وابسته 
 نرم افزار اپن سورس
 نرم‌افزار آزاد

 منابع 

 پیوند به بیرون 
 وب‌گاه‌های رسمی:
 وبسایت رسمی سامبا
 سامبا چطور نوشته شد
 tng از اندرو تریدگل (اکتبر ۲۰۰۰)
 "استفاده از سامبا"کتاب الکترونیک (منتشر شده به وسیلهٔ O'Reilly با کد شابک 0-596-00256-4)
 Other:
 مثال‌های از سامبا ۳، کتاب با مجوز اوپی‌ال
 تاریخچه سامبا، تالیف شده در ۱۹۹۴ بوسیله اندرو تریدگل ,
 سایت پروژه Samba-TNG
 پوششی از فورک کد سامبا از ZDNet

رده:نرم‌افزار آزاد
رده:نرم‌افزارهای آزاد نوشته‌شده با سی
رده:نرم‌افزارهای انتقال فایل آزاد
رده:نرم‌افزارهای منشعب‌شده
رده:نرم‌افزارهای یونیکس مرتبط با شبکه