Product SiteDocumentation Site

11.5. راه‌اندازی اشتراک‌های ویندوز با Samba

سامبا مجموعه ابزاری است که پروتکل SMB را (که بنام “CIFS” نیز شناخته می‌شود) در لینوکس مدیریت می‌کند. این پروتکل توسط ویندوز برای اشتراک‌های شبکه و چاپگرهای اشتراکی استفاده می‌شود.
سامبا همچنین می‌تواند به عنوان یک کنترل‌کننده دامنه ویندوز نیز کار کند. این یک ابزار فوق‌العاده برای یکپارچه‌سازی سرورهای لینوکس و رایانه‌های رومیزی ویندوز به حساب می‌آید.

11.5.1. سرور سامبا

بسته samba شامل دو سرور اصلی از نسخه ۴ سامبا است، smbd و nmbd.

11.5.1.1. پیکربندی با debconf

بسته‌ها هنگام نصب اولیه شامل پیکربندی حداقل می‌باشند، اما شما باید با اجرای دستور dpkg-reconfigure samba-common نسبت به انطباق آن نیازهای خود اقدام کنید:
اولین قطعه اطلاعات مورد نیاز نام workgroup است که سرور سامبا به آن تعلق دارد (در این مورد پاسخ FALCOTNET است).
بسته همچنین با اطلاعات بدست آمده از فرآیند پس‌زمینه DHCP اقدام به شناسایی سرور WINS می‌کند. مدیرسیستم‌های شرکت فالکوت این گزینه را نادیده گرفته‌اند، چرا که قصد دارند از خود سرور سامبا به عنوان WINS استفاده کنند.

11.5.1.2. پیکربندی دستی

11.5.1.2.1. تغییرات در smb.conf
نیازمندی‌های فالکوت مستلزم تغییر در فایل پیکربندی /etc/samba/smb.conf است. گزیده زیر خلاصه‌ای از تغییرات اعمال شده در قسمت [global] را شامل می‌شود.
[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = FALCOTNET

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
   wins support = yes 1

[...]

####### Authentication #######

# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller". 
#
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
   server role = standalone server

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server.
   security = user 2

[...]

1

نشان می‌دهد که سامبا باید به عنوان یک سرور نام Netbios یا همان WINS برای شبکه محلی عمل کند.

2

این مقدار پیشفرض برای پارامتر است؛ با این حال، از آنجا که در مرکز پیکربندی سامبا قرار دارد، درج آن به صورت صریح توصیه می‌شود. هر کاربر قبل از دسترسی به اشتراک ابتدا باید احرازهویت شود.
11.5.1.2.2. افزودن کاربران
هر کاربر سامبا به یک حساب کاربری در سرور نیاز دارد؛ به منظور ثبت کاربران در پایگاه‌داده سامبا، ابتدا باید این حساب‌های کاربری یونیکس تولید شوند. اینکار به صورت نرمال توسط دستور adduser انجام می‌شود.
افزودن یک کاربر موجود به پایگاه‌داده سامبا به سادگی اجرای دستور smbpasswd -a user است؛ این دستور گذرواژه را به صورت تعاملی هنگام اجرای خود می‌پرسد.
یک کاربر می‌تواند با استفاده از دستور smbpasswd -x user حذف گردد. همچنین حساب کاربری سامبا به صورت موقت می‌تواند با دستور smbpasswd -d user غیرفعال یا با دستور smbpasswd -e user فعال‌سازی مجدد گردد.

11.5.2. برنامه سامبا

ویژگی‌های این برنامه در سامبا به رایانه‌های لینوکس اجازه می‌دهد که از اشتراک‌های فایل و چاپگر در ویندوز استفاده کنند. برنامه‌های مورد آن در بسته‌های cifs-utils و smbclient قرار دارند.

11.5.2.1. برنامه smbclient

برنامه smbclient از سرورهای SMB پرس و جو می‌کند. یک گزینه -U user را به منظور اتصال به سرور با یک شناسه خاص می‌پذیرد. smbclient //server/share به شیوه‌ای تعاملی و مشابه با FTP در خط فرمان به فضای اشتراکی یک سرور دسترسی می‌یابد. smbclient -L server تمام اشتراک‌های موجود (و قابل مشاهده) در یک سرور را فهرست می‌کند.

11.5.2.2. اتصال اشتراک‌های ویندوز

دستور mount اجازه اتصال اشتراک‌های ویندوز به ساختار فایل‌سیستم لینوکس را می‌دهد (با کمک mount.cifs که توسط cifs-utils فراهم شده است).

مثال 11.24. اتصال یک اشتراک ویندوز

mount -t cifs //arrakis/shared /shared \
      -o credentials=/etc/smb-credentials
فایل /etc/smb-credentials (که نباید توسط کاربران خواندنی باشد) شامل قالب زیر است:
username = user
password = password
سایر گزینه‌ها نیز در خط-فرمان می‌توانند قرار گیرند؛ فهرست کامل آن‌ها در صفحه راهنمای mount.cifs(1) قرار دارد. دو گزینه از اهمیت خاصی برخوردار هستند: uid و gid که اجازه استفاده فایل‌های کاربر و گروه مشخص شده در نقطه اتصال را می‌دهند، به این منظور که تمام دسترسی‌ها در اختیار root نباشد.
اتصال یک اشتراک ویندوز می‌توانند در /etc/fstab به صورت زیر پیکربندی شود:
//server/shared /shared cifs credentials=/etc/smb-credentials
قطع اتصال یک اشتراک SMB/CIFS توسط دستور استاندارد umount صورت می‌گیرد:

11.5.2.3. چاپ با استفاده از چاپگر اشتراکی

CUPS یک راهکار زیبا برای عملیات چاپ از لینوکس با استفاده از چاپگر موجود در ویندوز است. زمانی که smbclient نصب شود، CUPS اجازه نصب چاپگرهای اشتراکی ویندوز را به صورت خودکار فراهم می‌کند.
گام‌های مورد نیاز عبارتند از:
  • رابط پیکربندی CUPS را وارد کنید: http://localhost:631/admin
  • روی “Add Printer” کلیک کنید.
  • دستگاه چاپگر را انتخاب کنید، برای نمونه: “Windows Printer via SAMBA”.
  • نشانی ارتباطی برای چاپگر شبکه را وارد کنید. باید مشابه زیر باشد:
    smb://user:password@server/printer.
  • نامی که به صورت اختصاصی چاپگر را مشخص می‌کند، وارد کنید. سپس توضیحات و مکان چاپگر را وارد کنید. این‌ها رشته‌هایی هستند که برای کمک به کاربران نهایی در استفاده از چاپگر نمایش داده می‌شوند.
  • تولیدکننده و مدل چاپگر، یا به صورت مستقیم یک فایل توضحیات چاپگر یا PPD را مشخص کنید.
بسیار عالی، چاپگر آماده استفاده است!