سامبا و قابلیت های آن
سامبا به شما کمک می کند تا به راحتی فایل ها را بین سیستم های لینوکس و ویندوز به اشتراک بگذارید.
اشتراک فایل در هر مجموعه بسیار مهم است. در این مقاله، به شما آموزش میدهیم که سامبا چگونه می تواند به شما در اشتراک فایلها در سرورهایی که از طریق لینوکس و ویندوز قابل دسترسی هستند، کمک می کند.
سامبا چیست؟
سامبا مجموعه ای از برنامه های کاربردی است که پروتکل سرور (SMB) را پیاده سازی می کند. بسیاری از سیستم عامل ها، از جمله ویندوز ، از پروتکل SMB برای شبکه Client-server استفاده می کنند. سامبا دستگاههای لینوکس / یونیکس را قادر می سازد با ماشین های ویندوز در یک شبکه ارتباط برقرار کنند.
سامبا یک نرم افزار open source است. در ابتدا ، سامبا در سال 1991 برای به اشتراک گذاری سریع و ایمن پرونده و چاپ برای کلیه مشتریانی که از پروتکل SMB استفاده می کردند ، توسعه داده شد. از آن زمان به بعد تکامل یافت و قابلیتهای بیشتری به آن افزوده شد. امروز سامبا مجموعه ای از برنامه ها را فراهم می کند که امکان اتصال به شبکه بی سیم و ویندوز را فراهم می کند.
بسته های سامبا را نصب کنید
در این مثال ، از CentOS 8 با نام های میزبان به عنوان سرور Samba با آدرس IP 192.168.1.122 استفاده شده است. تنها بسته ای که شما نیاز به نصب دارید سامبا است ، اما من می خواهم سایر ابزارهای مشتری samba-common و samba-client را نیز نصب کنید تا بعدا ازآنها استفاده شود.
# yum install samba samba-client samba-common -y
جهت اشتراک گذاری و تنظیم مجوزهای آن، دایرکتوری ایجاد کنید.
پس از نصب بستههای مورد نیاز روی سرور ، یک دایرکتوری ایجاد کنید و مجوزهای لازم را به آن بدهید. دایرکتوری را در روت سرور ایجاد کنید. شما می توانید این فهرست را نامگذاری کنید و مجوزهای خواندن، نوشتن و اجرای آن را به آن بدهید. در این مثال ، ما به پیکربندی سامبا را انجام می دهیم تا کنترل خواندن ، دسترسی به فهرست مشترک را کنترل کنیم.
# mkdir /share # chmod -R 777 /share
پیکربندی
اکنون که بسته های لازم را نصب کردیم ، وقت آن رسیده است که shared directory را پیکربندی کنید. shared directory در زیر / etc / samba قرار دارد. با استفاده از ویرایشگر، متن مورد علاقه خود به عنوان مثال موارد زیر را به /etc/samba/smb.conf اضافه کنید. بقیه shared directory را همانطور که هست بگذارید.
# vim /etc/samba/smb.conf
[myshare]
comment = pouyasazan
path = /share
read only = No
فایلی با نام pouyasazanایجاد کرده ام و مسیری را برای فایل مشخص شده است که در پرونده ما در /share قرار دارد. من مجوزهای خواندن / نوشتن را فقط با فقط خواندن = شماره دادم. بسیاری از پارامترهای پیکربندی دیگر که ممکن است از اینجا عبور کنید وجود دارد ، اما برای نصب ما این تنظیمات خوب است.
پیکربندی سامبا را بررسی کنید
سامبا ابزاری برای بررسی پرونده پیکربندی ما ارائه می دهد. با استفاده از دستور testparm می توانیم بررسی کنیم که آیا فایل پیکربندی ما دارای خطا می باشد.
# testparm
در مرحله بعد باید یک حساب کاربری سامبا ایجاد کنیم تا سامبا بتواند در جلسات سامبا با سشن ها ارتباط برقرار کند. دستور smbpasswd بسته به اینکه این دستور را به عنوان روت یا به عنوان یک کاربر استاندارد اجرا کنید ، چندین عملکرد دارد. اگر smbpasswd را بدون هیچگونه استدلالی به عنوان کاربر غیر root صادر می کنید ، به طور پیش فرض smbpasswd جریان وارد شده در رمزعبور سامبا کاربر را تغییر می دهد. هنگامی که دستور smbpasswd را به عنوان root اجرا می کنید ، می توانید حساب های جدید سامبا ایجاد کنید. شما می توانید یک حساب سامبا را فقط برای حسابهای کاربری موجود لینوکس ایجاد نمایید.
# smbpasswd -a user
New SMB password:
Retype new SMB password:
ما باید SELinux را share directory پیکربندی کنیم تا سرویس سامبا دارای مجوزهای مناسب باشد.
# semanage fcontext -a -t samba_share_t “/share(/.*)?”
# restorecon -R -v /share
در مرحله بعد ، باید خدمات smb و nmb را فعال و شروع کنیم.
# systemctl enable smb
# systemctl start smb
#systemctl enable nmb
#systemctl start nmb
اگر فایروال را در سرور خود اجرا کرده اید ، باید آن را پیکربندی کنیم تا ترافیک سامبا مجاز باشد. می توانید با استفاده از دستور firewall-cmd این کار را انجام دهید. فراموش نکنید فایروال را ریستارت کنید.
در حال حاضر سرویس فعال و ریستارت شده است . می توانیم با استفاده از ابزار smbclient فایل های اشتراک گذاری شده را بررسی کنیم .در این دستور از syntax زیر استفاده شده است:
smbclient -U <samba username we created above> -L <ip address of server>
# smbclient -U user -L 192.168.1.122
Enter SAMBA\user’s password:
می توانیم با دستور زیر در سرور ، به این اشتراک دسترسی پیدا کنیم:
# smbclient -U user //192.168.1.122/pouyasazan
Enter SAMBA\user’s password:
Try “help” to get a list of possible commands.
smb: \>
در صورتی که سرور مجازی لینوکسی داشته باشید، و سیستمی که بر روی آن طراحی شما انجام شده باشد ویندوز باشد، این دستورات کار انتقال فایل ها را برای شما آسان تر میکنند. تمامی سرورهای مجازی پویاسازان بر روی سرورهای قدرتمند با سخت افزاری به روز ایجاد میشوند تا همیشه سرویس مطلوبی به شما ارائه کنند.