Product SiteDocumentation Site

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

سامبا مجموعه ابزاری است که پروتکل SMB را (که بنام “CIFS” نیز شناخته می‌شود) در لینوکس مدیریت می‌کند. این پروتکل توسط ویندوز برای اشتراک‌های شبکه و چاپگرهای اشتراکی استفاده می‌شود.
Samba can also act as a Windows domain controller. This is an outstanding tool for ensuring seamless integration of Linux servers and the office desktop machines still running Windows.

11.5.1. سرور سامبا

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

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

The package sets up a minimal configuration during the initial installation in /etc/samba/smb.conf by plainly copying /usr/share/samba/smb.conf. So you should really run dpkg-reconfigure samba-common to adapt it:
On first installation the only piece of required information is the name of the workgroup where the Samba server will belong (the answer is FALCOTNET in our case).
In case of a package update (from the old stable Debian version) or if the SMB server has already been configured to use a WINS server (wins server), the package also proposes identifying the WINS server from the information provided by the DHCP daemon. The Falcot Corp administrators rejected this option, since they intend to use the Samba server itself as the WINS server.

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 server" 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

   obey pam restrictions = yes

[...]

# "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

Indicates that Samba should act as a Netbios name server (WINS) for the local network. This option had been removed from the default configuration in Buster and must be added manually if desired.

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.21. اتصال یک اشتراک ویندوز

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
Unmounting an SMB/CIFS share is done with the standard umount command.

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

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