راه اندازی سرویس Samba در لینوکس
برای شبکه بندی لینوکس یکی از ابزارها سمبا هست.
Samba یک ابزار بسیار قدرتمند است که به وسیله آن میتوان سرویسهای اشتراک فایل و پرینتر را برای کلاینتهای مایکروسافتی ارائه نمود. علاوه بر این میتوان از آن به عنوان یک دامین کنترلر در شبکههای مبتنی بر Windows Server Domain استفاده نمود. همچنین از نسخه چهارم این نرمافزار به بعد امکان پشتیبانی از Active Directory و دامینهای Windows NT فراهم شده است.
در این آموزش به نحوه نصب و راه اندازی این سرویس و همچنین اشتراک گذاری منابع توسط سرویس Samba برای کلاینتهای مایکروسافتی و لینوکسی خواهیم پرداخت.
برای نصب سرویس دهنده Samba دستور زیر را وارد میکنیم.
sudo apt install samba
سپس برای اعمال تنظیمات میبایست فایل etc/samba/smb.conf/
را با یک ویرایشگر متنی ویرایش کنیم.
sudo gedit /etc/samba/smb.conf
فایل smb.conf دارای بخشهای مختلفی است که در ادامه به توضییح آنها میپردازیم.
-
[global]
: در این بخش پیکربندی کلی و مورد استفاده در تمامی بخشها تعریف می گردد. -
[share]
: یک اشتراک را تعریف میکند. -
[printers]
: در این بخش پرینترهای اشتراک گذاشته تعریف میشوند. -
[homes]
: دایرکتوری home کاربران اشتراک گذاشته تعریف میشوند.
در داخل هرکدام از این بخشها پارامترهایی وجود دارد که هر پارامتر میتواند مقداری مانند true, false, yes, no و یا یک رشته یا مسیر داشته باشد.
در ادامه به توضیح برخی از این پارامتر ها می پردازیم.
- browseable: تعیین میکند که اشتراک مورد نظرمان میتواند Browse شود و یا خیر.
- comment: متن توضیح که در کنار اشتراک یا سرویس نمایش داده میشود.
- create mask: برای تبدیل مجوزهای ویندوز به یونیکس/لینوکس در هنگام ایجاد فایل بهکار میرود. مقدار پیشفرض برابر 0744 است.
- directory mask: برای تبدیل مجوزهای ویندوز به یونیکس/لینوکس در هنگام ایجاد دایرکتوری بهکار میرود. مقدار پیشفرض برابر 755 است.
- encrypt passwords: تعیین میکند که در هنگام Authentication بین سرویس دهنده و سرویس گیرنده کلمات عبور رمزنگاری شوند یا خیر.
- security: این گزینه مشخص میکند که کاربران چگونه به سرویس دهنده متصل شده و احراز هویت شوند. مقدار پیشفرض برابر user است.
- read only: امکان ویرایش فایلها توسط کاربران را مشخص میکند.
- invalid users: این کاربران تعریف شده قادر نخواهند بود به سیستم وارد شوند.
- workgroup: تعیین کننده نام شبکه Workgroup است.
- server string: نام سرویس دهنده را در سیستمهای سرویس گیرنده مشخص میکند.
- interfaces: آدرسهایی را که مجاز به برقراری ارتباط با سرویس دهنده هستند را مشخص میکند.
- printable: امکان ارسال چاپ توسط کاربر به سرویس دهنده را مشخص میکند.
- و …
قبل از اشتراک گذاری میبایست کاربرانمان را در سرویس دهنده تعریف نماییم. که بهصورت زیر عمل میکنیم.
sudo smbpasswd -L -a USER NAME
که در اینجا USER NAME
نام کاربر مورد نظر شماست.
برای اشتراکگذاری یک دایرکتوری بهصورت زیر عمل می کنیم.
[My Share]
path = /home/reza/my_share
browseable = yes
read only = yes
در مثال فوق یک دایرکتوری با نام My Share و در مسیر home/reza/my_share/
و با دسترسی فقط خواندنی تعریف نمودیم.
سپس سرویس دهنده را با دستور زیر مجدداً راه اندازی میکنیم.
systemctl restart samba-ad-dc.service
جهت بررسی وضعیت سرویس دهنده و منابع اشتراک گذاشته شده میتوانیم از دستور زیر استفاده کنیم.
smbclient -L SERVER
که در اینجا SERVER
میتواند نام و یا آدرس آیپی سرویس دهنده باشد.
- نکته) جهت استفاده از ابزار smbclient میبایست ابتدا آن را توسط دستور زیر روی سرویسگیرندهای لینوکسی نصب نمود.
sudo apt install smbclient
جهت ماونت نمودن یک اشتراک میتوانیم بصورت زیر عمل کنیم.
mount –t cifs //SERVER IP/SHARE /mnt –o username=USER NAME,workgroup=WORKGROUP NAME
که در اینجا SERVER IP/SHARE//
آدرس اشتراک ما و mnt/
آدرس مسیری است که میبایست در آنجا ماونت شود و USER NAME
نام کاربری و WORKGROUP NAME
هم نام گروه کاری شما را مشخص میکند.
*نکته) جهت ماونت کردن فایلسیستمهای Samba نیاز به ابزار cifs-utils
داریم که میبایست روی سرویسگیرندههای لینوکسی نصب کنیم که برای برای نصب cifs-utils
دستور زیر را وارد میکنیم.
sudo apt install cifs-utils
منبع: