آموزش نصب و پیکربندی Samba در CentOS 7 - وان سرور آکـادمی
آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

آموزش نصب و پیکربندی Samba در CentOS 7

زمان تقریبی مطالعه: 8 دقیقه

سامبا منبع باز و مجدد پروتکل به اشتراک گذاری پرونده شبکه SMB / CIFS است که به کاربران اجازه دسترسی به فایل ها، چاپگرها و سایر منابع اشتراکی را می دهد.

در این آموزش، ما Samba را بر روی CentOS 7 نصب می کنیم و آن را به عنوان یک سرور مستقل برای به اشتراک گذاری فایل در سیستم عامل های مختلف بر روی یک شبکه پیکربندی می کنیم.

Samba و کاربران زیر را ایجاد خواهیم کرد.

کاربران:

  • sadmin – یک کاربر اداری با دسترسی به خواندن و نوشتن به تمام سهام.
  • josh – یک کاربر معمولی با اشتراک فایل شخصی خود.

Shares :

  • users – این سهم توسط مجوزهای خواندن و نوشتن توسط همه کاربران در دسترس خواهد بود.
  • josh – این سهم فقط توسط کاربران جاش و sadmin با مجوزهای خواندن و نوشتن در دسترس خواهد بود.

اشتراک فایل از همه دستگاه های موجود در شبکه شما قابل دسترسی خواهد بود. بعدا در آموزش، ما همچنین دستورالعمل های دقیق در مورد چگونگی اتصال به سرور سامبا از مشتریان لینوکس، ویندوز و macOS ارائه خواهیم داد.

پیش نیازها

قبل از شروع، اطمینان حاصل کنید که به سیستم CentOS 7 خود به عنوان یک کاربر با امتیازات sudo وارد شده اید .

نصب Samba در CentOS

سامبا در مخازن CentOS استاندارد موجود است. برای نصب آن در سیستم CentOS خود، دستور زیر را اجرا کنید:

sudo yum install samba samba-client

پس از تکمیل نصب، خدمات سامبا را شروع و فعال کنید تا بطور خودکار بر روی سیستم راه اندازی شوند:

 sudo systemctl start smb.service
sudo systemctl start nmb.service
 sudo systemctl enable smb.service
sudo systemctl enable nmb.service

سرویس smbd سرویس های اشتراک گذاری فایل و چاپ را فراهم می کند و در پورت های 139 و 445 TCP گوش می دهد. سرویس nmbd سرویس NetBIOS را بر روی سرویس های نامگذاری IP فراهم می کند و در پورت 137 UDP گوش می دهد.

پیکربندی فایروال

حالا که Samba نصب شده و بر روی سیستم CentOS شما اجرا می شود، شما باید [فایروال خود را تنظیم کنید] (/ post / how-to-setup-firewall-with-firewalld-on-centos-7 / برای انجام این کار، دستورات زیر را اجرا کنید:

firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --zone=public --add-service=samba

ساخت سامبا کاربران و ساختار دایرکتوری

برای راحتی قابلیت نگهداری و انعطاف پذیری به جای استفاده از دایرکتوری های خانگی استاندارد ( /home/user )، تمام دایرکتوری ها و اطلاعات Samba در دایرکتوری /samba .

با ایجاد دایرکتوری /samba شروع کنید:

 sudo mkdir /samba 

یک گروه جدید به نام sambashare کنید بعدا همه کاربران Samba را به این گروه اضافه خواهیم کرد.

 sudo groupadd sambashare 

مالکیت گروه دایرکتوری /samba را به sambashare :

 sudo chgrp sambashare /samba 

Samba از کاربران لینوکس و سیستم مجوز گروه استفاده می کند اما دارای مکانیزم احراز هویت خود است که جدا از احراز هویت لینوکس استاندارد است. ما کاربران را با استفاده از ابزار استاندارد useradd لینوکس ایجاد می کنیم و سپس پسورد کاربری را با ابزار smbpasswd می کنیم.

همانطور که در مقدمه ذکر شد، ما یک کاربر معمولی ایجاد می کنیم که دسترسی به اشتراک فایل شخصی و یک حساب مدیریتی با دسترسی و خواندن و نوشتن به تمام اشتراک ها در سرور Samba خواهد داشت.

ایجاد سامبا کاربران

برای ایجاد یک کاربر جدید به نام josh ، از دستور زیر استفاده کنید:

 sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh 

گزینه های useradd دارای معانی زیر هستند:

  • -M- دایرکتوری خانگی کاربر را ایجاد نمی کند. ما این دایرکتوری را به صورت دستی ایجاد می کنیم.
  • -d /samba/josh – دایرکتوری خانگی کاربر را به /samba/josh ست کنید.
  • -s /usr/sbin/nologin – دسترسی پوسته را برای این کاربر غیرفعال کنید.
  • -G sambashare – کاربر را به گروه sambashare اضافه کنید.

ایجاد دایرکتوری خانگی کاربر و تعیین مالکیت دایرکتوری به کاربر josh و گروه sambashare :

 sudo mkdir /samba/josh
sudo chown josh:sambashare /samba/josh

فرمان زیر بیت setgid را به دایرکتوری /samba/josh اضافه میکند، بنابراین فایل های جدید ایجاد شده در این پوشه، گروهی از دایرکتوری والد را به ارث خواهند برد. به این ترتیب، بدون توجه به اینکه کاربر یک فایل جدید ایجاد می کند، فایل صاحب گروه sambashare خواهد بود. به عنوان مثال، اگر مجوزهای دایرکتوری را به 2770 sadmin کاربر sadmin یک فایل جدید ایجاد می کند، کاربر josh قادر به خواندن / نوشتن در این فایل نخواهد بود.

 sudo chmod 2770 /samba/josh 

با تنظیم گذرواژه کاربر حساب کاربری josh را به پایگاه داده Samba اضافه کنید:

 sudo smbpasswd -a josh 

از شما خواسته خواهد شد تا رمز عبور کاربر را وارد کنید و تایید کنید.

 New SMB password:
Retype new SMB password:
Added user josh.

پس از تنظیم رمز عبور، حساب سامبا را با تایپ کردن فعال کنید:

 sudo smbpasswd -e josh 
 Enabled user josh. 

برای ایجاد یک کاربر دیگر تکرار همان روند را در هنگام ایجاد کاربر josh .

بعد، بگذارید یک کاربر و گروه sadmin . همه اعضای این گروه مجوزهای اداری دارند. بعدا اگر میخواهید مجوزهای اداری را به کاربر دیگری اعطا کنید، این کاربر را به گروه sadmin اضافه کنید .

با استفاده از تایپ کردن کاربر اداری ایجاد کنید:

 sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin 

دستور بالا همچنین گروه sadmin ایجاد می کند و کاربر را به گروه های sadmin و sadmin اضافه می کند.

رمز عبور را تنظیم کنید و کاربر را فعال کنید:

 sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin 

بعد، ایجاد دایرکتوری اشتراک Users :

 sudo mkdir /samba/users 

مالک پوشه را به user sadmin و گروه sambashare :

 sudo chown sadmin:sambashare /samba/users 

این دایرکتوری توسط تمام کاربران معتبر قابل دسترسی خواهد بود. دستور زیر، دسترسی و خواندن / خواندن را به اعضای گروه sambashare در دایرکتوری /samba/users :

 sudo chmod 2770 /samba/users 

پیکربندی Samba Shares

فایل پیکربندی سامبا را باز کنید و بخشها را اضافه کنید:

 sudo nano /etc/samba/smb.conf 

[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

[josh]
    path = /samba/josh
    browseable = no
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = josh @sadmin

گزینه ها دارای معانی زیر هستند:

  • [users] and [josh] – نامهای اشتراکی که در هنگام ورود به آن استفاده می کنید.
  • path – مسیر به اشتراک گذاری.
  • browseable – این که آیا سهم باید در لیست shere موجود ذکر شود. با تنظیم به no کاربر دیگر قادر به دیدن سهم نخواهند بود.
  • read only – این که آیا کاربران مشخص شده در لیست valid users قادر به نوشتن به این سهم هستند.
  • force create mode – مجوزهای فایل های جدید ایجاد شده در این اشتراک را تنظیم می کند.
  • force directory mode – مجوزهای دایرکتوری تازه ایجاد شده در این اشتراک را تنظیم می کند.
  • valid users – فهرستی از کاربران و گروههایی که مجاز به دسترسی به اشتراک هستند. گروه ها با نماد @ پیشوند دارند.

برای اطلاعات بیشتر در مورد گزینه های موجود، صفحه مستندات فایل پیکربندی Samba را ببینید.

پس از انجام، سرویس Samba را دوباره راه اندازی کنید:

 sudo systemctl restart smb.service
sudo systemctl restart nmb.service

در بخش های زیر ما به شما نحوه اتصال به اشتراک Samba از لینوکس، macOS و ویندوز مشتریان را نشان خواهیم داد.

اتصال به Samba Share از لینوکس

کاربران لینوکس می توانند به اشتراک سامبا از خط فرمان دسترسی پیدا کنند، با استفاده از مدیر فایل یا سوار سامبا به اشتراک بگذارند.

با استفاده از client smbclient

smbclient یک ابزار است که به شما اجازه می دهد از Samba به خط فرمان دسترسی پیدا کنید. بسته smbclient در اغلب توزیع های لینوکس از قبل نصب نشده است، بنابراین شما باید آن را با مدیریت بسته توزیع خود نصب کنید.

برای نصب smbclient در اوبونتو و دبیان اجرا:

 sudo apt install smbclient 

برای نصب smbclient در CentOS و Fedora اجرا کنید:

 sudo yum install samba-client 

نحو دسترسی به سهم سامبا به شرح زیر است:

 mbclient //samba_hostname_or_server_ip/share_name -U username 

برای مثال برای اتصال به یک نام به نام josh در یک سرور سامبا با آدرس IP 192.168.121.118 به عنوان کاربر josh شما می توانید اجرا کنید:

 smbclient //192.168.121.118/josh -U josh 

از شما خواسته خواهد شد که رمز عبور کاربر را وارد کنید.

 Enter WORKGROUP\josh's password: 

پس از وارد کردن گذرواژه شما به رابط فرمان Samba وارد می شوید.

 Try "help" to get a list of possible commands. smb: \> 

خرید سرور مجازی با بهترین کیفیت و ارزان ترین قیمت

نصب Samba share

برای نصب سهم Samba در لینوکس ابتدا باید بسته ی cifs-utils را نصب کنید.

در اوبونتو و دبیان اجرا شود:

 sudo apt install cifs-utils 

در CentOS و فدورا اجرای:

 sudo yum install cifs-utils 

بعد، یک نقطه اتصال ایجاد کنید:

 sudo mkdir /mnt/smbmount 

با استفاده از دستور زیر، به اشتراک گذاشتن سهم

 sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount 

برای مثال برای نصب یک اشتراک به نام josh در یک سرور سامبا با آدرس IP 192.168.121.118 به عنوان کاربر josh به نقطه ی نصب /mnt/smbmount شما می توانید اجرا کنید:

 sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount 

از شما خواسته خواهد شد که رمز عبور کاربر را وارد کنید.

 Password for josh@ //192.168.121.118/josh: ******** 

با استفاده از GUI

فایل ها، مدیر فایل پیش فرض در Gnome دارای یک گزینه داخلی برای دسترسی به سهام سامبا است.

  1. باز کردن فایل ها و روی “دیگر مکان ها” در نوار کناری کلیک کنید.
  2. در «اتصال به سرور»، آدرس اشتراکی Samba را در قالب زیر وارد کنید smb://samba_hostname_or_server_ip/sharename .
  3. روی «اتصال» کلیک کنید و صفحه زیر ظاهر خواهد شد:
آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

انتخاب “کاربر ثبت شده”، نام کاربری و رمز عبور سامبا را وارد کنید و روی “اتصال” کلیک کنید. فایل های سرور Samba نمایش داده خواهند شد.

آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

اتصال به Samba Share از macOS

در MacOS، شما می توانید از سهام سامبا یا از خط فرمان یا با استفاده از پیش فرض مدیر فایل فایل macOS یاب دسترسی پیدا کنید. مراحل زیر نشان می دهد چگونگی دسترسی به اشتراک با استفاده از فایندر.

  1. “Finder” را باز کنید، “Go” را انتخاب کنید و روی “Connect To” کلیک کنید.
  2. در «اتصال به»، آدرس اشتراکی Samba را در قالب زیر وارد کنید smb://samba_hostname_or_server_ip/sharename .
آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

روی «اتصال» کلیک کنید و صفحه زیر ظاهر خواهد شد:

انتخاب “کاربر ثبت شده”، نام کاربری و رمز عبور سامبا را وارد کنید و روی “اتصال” کلیک کنید. فایل های سرور Samba نمایش داده خواهند شد.

آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

اولین نفری باشید که از آموزشها و تخفیفهای ویژه با خبر میشوید 😉
با عضویت در خبرنامه از 80 درصد تخفیف بهره مند شوید

اتصال به Samba Share از ویندوز

کاربران ویندوز نیز گزینه ای برای اتصال به اشتراک Samba از هر دو خط فرمان و رابط کاربری گرافیکی دارند. مراحل زیر نشان می دهد چگونگی دسترسی به اشتراک با استفاده از فایل اکسپلورر ویندوز.

  1. باز کردن فایل اکسپلورر و در سمت چپ بر روی ” This PC ” راست کلیک کنید.
  2. ” Choose a custom network location ” را انتخاب کنید و سپس روی ” Next ” کلیک کنید.
  3. در ” Internet or network address “، آدرس Samba share را در فرمت زیر وارد کنید: \\samba_hostname_or_server_ip\sharename .
آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

روی «بعدی» کلیک کنید و از شما خواسته می شود تا وارد حساب کاربری شوید که در زیر نشان داده شده است:

آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

در پنجره بعدی، می توانید نام سفارشی را برای موقعیت شبکه تایپ کنید. پیشفرض توسط سرور سامبا برداشته خواهد شد.

آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

برای رفتن به setup wizard ، روی «بعدی» کلیک کنید. روی “Finish” کلیک کنید و فایل ها در سرور Samba نمایش داده خواهند شد.

آموزش نصب و پیکربندی Samba در CentOS 7
آموزش نصب و پیکربندی Samba در CentOS 7

نتیجه

در این آموزش، شما یاد گرفتید که چگونه یک سرور Samba را بر روی CentOS 7 نصب کنید و انواع مختلفی از مشترکین و کاربران ایجاد کنید. ما همچنین به شما نشان داده ایم که چگونه از سرورهای سامبا از لینوکس، macOS و دستگاه های ویندوز استفاده کنید.

Rate this post