Samban asentaminen ja konfigurointi CentOS 7:ssä

Samba on ilmainen ja avoimen lähdekoodin uudelleentoteutus SMB/CIFS-verkkotiedostonjakoprotokollasta, jonka avulla loppukäyttäjät voivat päästä käsiksi tiedostoihin, tulostimiin ja muihin jaettuihin resursseihin.

Tässä ohjeessa näytämme, miten Samba asennetaan CentOS 7:ään ja konfiguroidaan itsenäiseksi palvelimeksi, joka tarjoaa tiedostojen jakamisen eri käyttöjärjestelmien välillä verkon välityksellä.

Luomme seuraavat Samba-jako-osoitteet ja käyttäjät.

Käyttäjät:

  • sadmin – Hallintakäyttäjä, jolla on luku- ja kirjoitusoikeudet kaikkiin jakoihin.
  • josh – Tavallinen käyttäjä, jolla on oma yksityinen tiedostojako.

Jakoja:

  • users – Tähän jakoon pääsevät luku- ja kirjoitusoikeuksilla kaikki käyttäjät.
  • josh – Tähän jakoon pääsevät luku-/kirjoitusoikeuksin vain käyttäjät josh ja sadmin.

Tiedostojakoihin pääsee käsiksi kaikista verkon laitteista. Myöhemmin opetusohjelmassa annetaan myös yksityiskohtaiset ohjeet siitä, miten Samba-palvelimeen voi muodostaa yhteyden Linux-, Windows- ja macOS-asiakasohjelmista.

Edellytykset #

Etukäteen varmista, että olet kirjautunut CentOS 7 -järjestelmään käyttäjänä, jolla on sudo-oikeudet.

Samban asentaminen CentOS-käyttöjärjestelmään #

Samba on saatavissa vakiomuotoisista CentOS-tietovarastoista. Asenna se CentOS-järjestelmään suorittamalla seuraava komento:

sudo yum install samba samba-client

Asennuksen päätyttyä käynnistä Samba-palvelut ja anna niiden käynnistyä automaattisesti järjestelmän käynnistyessä:

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

smbdPalvelu smbd tarjoaa tiedostonjako- ja tulostuspalveluja ja kuuntelee TCP-portteja 139 ja 445. nmbd-palvelu tarjoaa NetBIOS over IP -nimipalveluja asiakkaille ja kuuntelee UDP-portissa 137.

Palomuurin konfigurointi #

Nyt kun Samba on asennettu ja käynnissä CentOS-koneellasi, sinun täytyy konfiguroida palomuuri ja avata tarvittavat portit. Suorita tätä varten seuraavat komennot:

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

Samba-käyttäjien ja hakemistorakenteen luominen #

Ylläpidettävyyden ja joustavuuden helpottamiseksi tavallisten kotihakemistojen (/home/user) sijaan kaikki Samba-hakemistot ja -tiedot sijaitsevat /samba-hakemistossa.

Aloita luomalla /samba-hakemisto:

sudo mkdir /samba

Luo uusi ryhmä nimeltä sambashare. Myöhemmin lisäämme kaikki Samban käyttäjät tähän ryhmään.

sudo groupadd sambashare 

Määritä hakemiston /samba ryhmän omistusoikeudeksi sambashare:

sudo chgrp sambashare /samba

Samba käyttää Linuxin käyttäjien ja ryhmien käyttöoikeusjärjestelmää, mutta sillä on oma todennusmekanisminsa, joka on erillään Linuxin tavallisesta todennuksesta. Luomme käyttäjät Linuxin tavallisella useradd-työkalulla ja asetamme käyttäjän salasanan smbpasswd-apuohjelmalla.

Kuten johdannossa mainitsimme, luomme tavallisen käyttäjän, jolla on pääsy omaan yksityiseen tiedostojakoonsa, ja yhden hallintatilin, jolla on luku- ja kirjoitusoikeus kaikkiin Samba-palvelimen jakoihin.

Samba-käyttäjien luominen #

Luo uusi käyttäjä nimeltä josh seuraavalla komennolla:

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

Vaihtoehdoilla useradd on seuraavat merkitykset:

Luo käyttäjän kotihakemisto ja aseta hakemiston omistusoikeus käyttäjälle josh ja ryhmälle sambashare:

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

Seuraava komento lisää setgid-bitin hakemistoon /samba/josh, jotta tähän hakemistoon hiljattain luodut tiedostot perivät vanhemman hakemiston ryhmän. Näin riippumatta siitä, kuka käyttäjä luo uuden tiedoston, tiedoston group-owner on sambashare. Jos et esimerkiksi aseta hakemiston käyttöoikeuksiksi 2770 ja sadmin-käyttäjä luo uuden tiedoston, käyttäjä josh ei pysty lukemaan/kirjoittamaan kyseistä tiedostoa.

sudo chmod 2770 /samba/josh

Lisää josh-käyttäjätili Samba-tietokantaan asettamalla käyttäjän salasana:

sudo smbpasswd -a josh

Käyttäjän salasanaa pyydetään syöttämään ja vahvistamaan.

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

Kun salasana on asetettu, ota Samba-tili käyttöön kirjoittamalla:

sudo smbpasswd -e josh
Enabled user josh.

Luoaksesi toisen käyttäjän toista sama prosessi kuin luodessasi käyttäjää josh.

Luo seuraavaksi käyttäjä ja ryhmä sadmin. Kaikilla tämän ryhmän jäsenillä on hallinnolliset oikeudet. Myöhemmin, jos haluat antaa hallinnollisia oikeuksia toiselle käyttäjälle, lisää tämä yksinkertaisesti ryhmään sadmin.

Luo hallinnollinen käyttäjä kirjoittamalla:

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

Yllä oleva komento luo myös ryhmän sadmin ja lisää käyttäjän sekä ryhmiin sadmin että sambashare.

Aseta salasana ja ota käyttäjä käyttöön:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Luo seuraavaksi jakohakemisto Users:

sudo mkdir /samba/users

Aseta hakemiston omistajuus käyttäjälle sadmin ja ryhmälle sambashare:

sudo chown sadmin:sambashare /samba/users

Hakemistoon pääsevät käsiksi kaikki tunnistetut käyttäjät. Seuraavalla komennolla määritetään kirjoitus/lukuoikeus ryhmän sambashare jäsenille hakemistossa /samba/users:

sudo chmod 2770 /samba/users

Samba-jakojen konfigurointi #

Avaa Samban konfigurointitiedosto ja liitä osiot:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf

Vaihtoehdoilla on seuraavat merkitykset:

  • ja – Niiden osakkeiden nimet, joita käytetään sisäänkirjautumisen yhteydessä.
  • path – Polku jakoon.
  • browseable – Pitäisikö jako mainita käytettävissä olevien osakkeiden luettelossa. Asettamalla arvoksi no muut käyttäjät eivät näe jakoa.
  • read only – Pystyvätkö valid users-luettelossa määritetyt käyttäjät kirjoittamaan tähän jakoon.
  • force create mode – Asettaa käyttöoikeudet juuri luoduille tiedostoille tässä jaossa.
  • force directory mode – Asettaa käyttöoikeudet tässä jaossa äskettäin luoduille hakemistoille.
  • valid users – Luettelo käyttäjistä ja ryhmistä, joilla on oikeus käyttää jakoa. Ryhmien etuliitteenä on @-symboli.

Lisätietoja käytettävissä olevista vaihtoehdoista on Samban konfigurointitiedoston dokumentointisivulla.

Kun tämä on tehty, käynnistä Samba-palvelut uudelleen:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

Seuraavissa osioissa näytetään, miten Samba-jakoon muodostetaan yhteys Linux-, macOS- ja Windows-asiakasohjelmista.

Yhteyden muodostaminen Samba-jakoon Linuxista #

Linux-käyttäjät voivat käyttää Samba-jakoa komentoriviltä, tiedostonhallinnan avulla tai mountata Samba-jakoa.

Smbclient-asiakkaan käyttäminen #

smbclient on työkalu, jonka avulla voit käyttää Sambaa komentoriviltä. smbclient-pakettia ei ole esiasennettu useimpiin Linux-jakeluihin, joten sinun on asennettava se jakelusi paketinhallinnalla.

Asenna smbclient Ubuntuun ja Debianiin suorittamalla:

sudo apt install smbclient

Asenna smbclient CentOS:iin ja Fedoraan suorittamalla:

sudo yum install samba-client

Syntaksi, jolla pääset käsiksi Samba-jakoon on seuraava:

mbclient //samba_hostname_or_server_ip/share_name -U username

Kytkeytyäksesi esimerkiksi IP-osoitteella 192.168.121.118 olevan Samba-palvelimen josh jakoon nimeltä josh käyttäjänä josh suoritat:

smbclient //192.168.121.118/josh -U josh

Siitä pyydetään antamaan käyttäjän salasana.

Enter WORKGROUP\josh's password:

Kun syötät salasanan, pääset kirjautumaan Samban komentorivikäyttöliittymään.

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

Samba-osion liittäminen #

Voidaksesi liittää Samba-osion Linuxissa sinun on ensin asennettava cifs-utils-paketti.

Ubuntussa ja Debianissa suorita:

sudo apt install cifs-utils

CentOS:ssa ja Fedorassa suorita:

sudo yum install cifs-utils

Luo seuraavaksi liitäntäpiste:

sudo mkdir /mnt/smbmount

Viilistä jako seuraavalla komennolla:

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

Voit esimerkiksi liittää Samba-palvelimella, jonka IP-osoite on 192.168.121.118, olevan josh-nimisen jaon josh käyttäjänä josh liitäntäpisteeseen /mnt/smbmount suorittamalla:

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

Teitä pyydetään antamaan käyttäjän salasana.

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

Käyttämällä graafista käyttöliittymää #

Tiedostot, Gnomen oletustiedostonhallinta sisältää sisäänrakennetun vaihtoehdon, jolla pääset käsiksi Samba-jakoihin.

  1. Avaa Tiedostot ja napsauta sivupalkissa kohtaa ”Muut sijainnit”.
  2. Kohdassa ”Yhdistä palvelimeen” kirjoita Samba-jakojen osoite seuraavassa muodossa smb://samba_hostname_or_server_ip/sharename.
  3. Klikkaa ”Yhdistä” ja seuraava näyttö tulee näkyviin:

  4. Valitse ”Rekisteröitynyt käyttäjä”, syötä Samba-käyttäjätunnus ja salasana ja klikkaa ”Yhdistä”.
  5. Samba-palvelimella olevat tiedostot tulevat näkyviin.

Yhteyden muodostaminen Samba-jakoon macOS:stä #

MacOS:ssä voit käyttää Samba-jakoja joko komentoriviltä tai macOS:n oletusarvoisella tiedostohallintaohjelmalla Finder. Seuraavissa vaiheissa näytetään, miten jakoon päästään käsiksi Finderin avulla.

  1. Avaa ”Finder”, valitse ”Go” ja napsauta ”Connect To”.
  2. Syötä ”Connect To” -kohtaan Samba-jakajan osoite seuraavassa muodossa smb://samba_hostname_or_server_ip/sharename.

  3. Klikkaa ”Connect” (Yhdistä) ja seuraava näyttö tulee näkyviin:

  4. Valitse ”Registered User” (Rekisteröitynyt käyttäjä), syötä Samban käyttäjänimi ja salasana ja klikkaa ”Connect” (Yhdistä).
  5. Samba-palvelimella olevat tiedostot näytetään.

Yhteyden muodostaminen Samba-jakoon Windowsista #

Windows-käyttäjillä on myös mahdollisuus muodostaa yhteys Samba-jakoon sekä komentoriviltä että käyttöliittymästä. Alla olevissa ohjeissa näytetään, miten jakoon päästään käsiksi Windowsin File Explorerilla.

  1. Avaa File Explorer ja napsauta vasemmassa ruudussa hiiren kakkospainikkeella ”This PC”.
  2. Valitse ”Choose a custom network location” (Valitse mukautettu verkkosijainti) ja napsauta sitten ”Next” (Seuraava).
  3. Kenttään ”Internet or network address” (Internet- tai verkko-osoite) kirjoita Samba-jakajan osoite seuraavassa muodossa \samba_hostname_or_server_ip\sharename.

  4. Klikkaa ”Seuraava”, ja sinua pyydetään syöttämään kirjautumistiedot alla esitetyllä tavalla:

  5. Seuraavaan ikkunaan voit kirjoittaa verkkosijainnille mukautetun nimen. Samba-palvelin poimii oletusarvon.

  6. Klikkaa ”Seuraava” siirtyäksesi ohjatun yhteysasetusten määrityksen viimeiseen näyttöön.
  7. Klikkaa ”Valmis”, ja Samba-palvelimella olevat tiedostot tulevat näkyviin.

Johtopäätös #

Tässä opetusohjelmassa olet oppinut asentamaan Samba-palvelimen CentOS 7:ään ja luomaan erityyppisiä jaettuja ja käyttäjiä. Olemme myös näyttäneet, miten voit muodostaa yhteyden Samba-palvelimeen Linux-, macOS- ja Windows-laitteista.

Vastaa

Sähköpostiosoitettasi ei julkaista.