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.service
sudo systemctl start nmb.service
sudo systemctl enable smb.service
sudo systemctl enable nmb.service
smbd
Palvelu 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=samba
firewall-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/josh
sudo 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 sadmin
sudo 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
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 arvoksino
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.service
sudo 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.
- Avaa Tiedostot ja napsauta sivupalkissa kohtaa ”Muut sijainnit”.
- Kohdassa ”Yhdistä palvelimeen” kirjoita Samba-jakojen osoite seuraavassa muodossa
smb://samba_hostname_or_server_ip/sharename
. - Klikkaa ”Yhdistä” ja seuraava näyttö tulee näkyviin:
- Valitse ”Rekisteröitynyt käyttäjä”, syötä Samba-käyttäjätunnus ja salasana ja klikkaa ”Yhdistä”.
- 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.
- Avaa ”Finder”, valitse ”Go” ja napsauta ”Connect To”.
- Syötä ”Connect To” -kohtaan Samba-jakajan osoite seuraavassa muodossa
smb://samba_hostname_or_server_ip/sharename
.
- Klikkaa ”Connect” (Yhdistä) ja seuraava näyttö tulee näkyviin:
- Valitse ”Registered User” (Rekisteröitynyt käyttäjä), syötä Samban käyttäjänimi ja salasana ja klikkaa ”Connect” (Yhdistä).
- 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.
- Avaa File Explorer ja napsauta vasemmassa ruudussa hiiren kakkospainikkeella ”This PC”.
- Valitse ”Choose a custom network location” (Valitse mukautettu verkkosijainti) ja napsauta sitten ”Next” (Seuraava).
- Kenttään ”Internet or network address” (Internet- tai verkko-osoite) kirjoita Samba-jakajan osoite seuraavassa muodossa
\samba_hostname_or_server_ip\sharename
.
- Klikkaa ”Seuraava”, ja sinua pyydetään syöttämään kirjautumistiedot alla esitetyllä tavalla:
- Seuraavaan ikkunaan voit kirjoittaa verkkosijainnille mukautetun nimen. Samba-palvelin poimii oletusarvon.
- Klikkaa ”Seuraava” siirtyäksesi ohjatun yhteysasetusten määrityksen viimeiseen näyttöön.
- 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.