Sådan installeres og konfigureres Samba på CentOS 7

Samba er en gratis og open source re-implementering af SMB/CIFS-protokollen til fildeling på netværket, som giver slutbrugere adgang til filer, printere og andre delte ressourcer.

I denne vejledning viser vi, hvordan man installerer Samba på CentOS 7 og konfigurerer den som en standalone-server til fildeling på tværs af forskellige operativsystemer over et netværk.

Vi opretter følgende Samba-aktier og brugere.

Brugere:

  • sadmin – En administrativ bruger med læse- og skriveadgang til alle delinger.
  • josh – En almindelig bruger med sin egen private fildeling.

Dele:

  • brugere – Denne deling vil være tilgængelig med læse- og skrivetilladelser for alle brugere.
  • josh – Denne deling vil kun være tilgængelig med læse-/skrivetilladelser for brugerne josh og sadmin.

Fildelingerne vil være tilgængelige fra alle enheder på dit netværk. Senere i vejledningen vil vi også give detaljerede instruktioner om, hvordan du opretter forbindelse til Samba-serveren fra Linux-, Windows- og macOS-klienter.

Forudsætninger #

Hvor du begynder, skal du sørge for, at du er logget ind på dit CentOS 7-system som en bruger med sudo privilegier .

Installation af Samba på CentOS #

Samba er tilgængelig fra standard CentOS-repositorierne. For at installere det på dit CentOS-system skal du køre følgende kommando:

sudo yum install samba samba-client

Når installationen er afsluttet, skal du starte Samba-tjenesterne og aktivere dem til at starte automatisk ved systemstart:

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

Tjenesten smbd leverer fildeling og udskrivningstjenester og lytter på TCP-porte 139 og 445. Tjenesten nmbd leverer NetBIOS over IP-navngivningstjenester til klienter og lytter på UDP-port 137.

Konfigurering af firewall #

Nu, hvor Samba er installeret og kører på din CentOS-maskine, skal du konfigurere din firewall og åbne de nødvendige porte. For at gøre dette skal du køre følgende kommandoer:

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

Skabelse af Samba-brugere og mappestruktur #

For at lette vedligeholdelsen og fleksibiliteten i stedet for at bruge standardhjemmemmapperne (/home/user) vil alle Samba-mapper og -data blive placeret i mappen /samba.

Start med at oprette mappen /samba:

sudo mkdir /samba

Opret en ny gruppe ved navn sambashare. Senere vil vi tilføje alle Samba-brugere til denne gruppe.

sudo groupadd sambashare 

Sæt gruppens ejerskab for mappen /samba til sambashare:

sudo chgrp sambashare /samba

Samba bruger Linux-bruger- og gruppetilladelsessystemet, men det har sin egen godkendelsesmekanisme, der er adskilt fra standard Linux-godkendelsen. Vi opretter brugerne ved hjælp af standard Linux-værktøjet useradd og indstiller derefter brugeradgangskoden med værktøjet smbpasswd.

Som vi nævnte i indledningen, opretter vi en almindelig bruger, der får adgang til sin private fildeling, og en administrativ konto med læse- og skriveadgang til alle delinger på Samba-serveren.

Skabelse af Samba-brugere #

For at oprette en ny bruger ved navn josh skal du bruge følgende kommando:

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

Optionerne useradd har følgende betydning:

Opret brugerens hjemmemappe, og indstil ejerskabet til mappen til brugeren josh og gruppen sambashare:

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

Den følgende kommando tilføjer setgid-bitten til mappen /samba/josh, så de nyoprettede filer i denne mappe arver gruppen i den overordnede mappe. På denne måde vil filen, uanset hvilken bruger der opretter en ny fil, have group-owner sambashare som ejergruppe. Hvis du f.eks. ikke indstiller mappens tilladelser til 2770, og brugeren sadmin opretter en ny fil, vil brugeren josh ikke kunne læse/skrive i denne fil.

sudo chmod 2770 /samba/josh

Føj brugerkontoen josh til Samba-databasen ved at indstille brugeradgangskoden:

sudo smbpasswd -a josh

Du vil blive bedt om at indtaste og bekræfte brugeradgangskoden.

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

Når adgangskoden er indstillet, skal du aktivere Samba-kontoen ved at skrive:

sudo smbpasswd -e josh
Enabled user josh.

For at oprette en anden bruger gentager du den samme proces som ved oprettelsen af brugeren josh.

Næste trin er at oprette en bruger og gruppe sadmin. Alle medlemmer af denne gruppe vil have administrative tilladelser. Hvis du senere vil give en anden bruger administrative tilladelser, skal du blot tilføje denne bruger til gruppen sadmin.

Opret den administrative bruger ved at skrive:

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

Overstående kommando vil også oprette en gruppe sadmin og tilføje brugeren til både grupperne sadmin og sambashare.

Sæt en adgangskode, og aktiver brugeren:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Næst skal du oprette delingsmappen Users:

sudo mkdir /samba/users

Sæt ejerskabet af mappen til brugeren sadmin og gruppen sambashare:

sudo chown sadmin:sambashare /samba/users

Denne mappe vil være tilgængelig for alle godkendte brugere. Følgende kommando konfigurerer skrive-/læseadgang til medlemmer af gruppen sambashare i mappen /samba/users:

sudo chmod 2770 /samba/users

Konfigurering af Samba-frekvenser #

Åbn Samba-konfigurationsfilen, og tilføj afsnittene:

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

Optionerne har følgende betydning:

  • og – Navnene på de delinger, som du skal bruge, når du logger ind.
  • path – Stien til delingen.
  • browseable – Om delingen skal være opført på listen over tilgængelige delinger. Ved at indstille til no vil andre brugere ikke kunne se delingen.
  • read only – Om de brugere, der er angivet på listen valid users, kan skrive til denne deling.
  • force create mode – Indstiller tilladelserne til de nyoprettede filer på denne deling.
  • force directory mode – Angiver tilladelserne til de nyoprettede mapper i dette share.
  • valid users – En liste over brugere og grupper, der har tilladelse til at få adgang til dette share. Grupper er præfikseret med @-symbolet.

For flere oplysninger om tilgængelige indstillinger henvises til dokumentationssiden for Samba-konfigurationsfilen.

Når du er færdig, genstartes Samba-tjenesterne med:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

I de følgende afsnit viser vi dig, hvordan du opretter forbindelse til en Samba-frekvens fra Linux-, macOS- og Windows-klienter.

Opret forbindelse til en Samba share fra Linux #

Linux-brugere kan få adgang til Samba share fra kommandolinjen, bruge filhåndteringsprogrammet eller montere Samba share.

Anvendelse af smbclient-klienten #

smbclient er et værktøj, der gør det muligt at få adgang til Samba fra kommandolinjen. smbclient-pakken er ikke forudinstalleret på de fleste Linux-distributioner, så du skal installere den med din distributions pakkehåndteringsprogram.

For at installere smbclient på Ubuntu og Debian skal du køre:

sudo apt install smbclient

For at installere smbclient på CentOS og Fedora skal du køre:

sudo yum install samba-client

Syntaksen for at få adgang til et Samba-parti er som følger:

mbclient //samba_hostname_or_server_ip/share_name -U username

For eksempel for at oprette forbindelse til en share ved navn josh på en Samba-server med IP-adresse 192.168.121.118 som bruger josh skal du køre:

smbclient //192.168.121.118/josh -U josh

Du vil blive bedt om at indtaste brugerens adgangskode.

Enter WORKGROUP\josh's password:

Når du har indtastet adgangskoden, vil du blive logget ind på Samba-kommandolinjeinterfacet.

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

Montering af Samba-aktien #

For at montere en Samba-aktie på Linux skal du først installere cifs-utils-pakken.

På Ubuntu og Debian skal du køre:

sudo apt install cifs-utils

På CentOS og Fedora skal du køre:

sudo yum install cifs-utils

Næst skal du oprette et monteringspunkt:

sudo mkdir /mnt/smbmount

Mount delingen ved hjælp af følgende kommando:

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

For eksempel for at montere en share ved navn josh på en Samba-server med IP-adresse 192.168.121.118 som bruger josh til monteringspunktet /mnt/smbmount skal du køre:

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

Du vil blive bedt om at indtaste brugerens adgangskode.

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

Brug GUI #

Filer, standardfilhåndteringen i Gnome har en indbygget mulighed for at få adgang til Samba-aktier.

  1. Åbn Filer, og klik på “Andre placeringer” i sidebjælken.
  2. I “Forbind til server” skal du indtaste adressen på Samba-aktien i følgende format smb://samba_hostname_or_server_ip/sharename.
  3. Klik på “Connect”, og følgende skærm vises:

  4. Vælg “Registered User”, indtast Samba-brugernavn og adgangskode, og klik på “Connect”.
  5. Filerne på Samba-serveren vil blive vist.

Opret forbindelse til et Samba Share fra macOS #

I macOS kan du få adgang til Samba Shares enten fra kommandolinjen eller ved hjælp af macOS’ standardfilhåndteringsprogram Finder. De følgende trin viser, hvordan du får adgang til delingen ved hjælp af Finder.

  1. Åbn “Finder”, vælg “Gå”, og klik på “Forbind til”.
  2. I “Forbind til” skal du indtaste adressen på Samba-delen i følgende format smb://samba_hostname_or_server_ip/sharename.

  3. Klik på “Connect”, og følgende skærmbillede vises:

  4. Vælg “Registered User”, indtast Samba-brugernavn og -adgangskode, og klik på “Connect”.
  5. Filerne på Samba-serveren vises.

Opret forbindelse til et Samba Share fra Windows #

Windows-brugere har også mulighed for at oprette forbindelse til Samba-share fra både kommandolinjen og GUI. Trinene nedenfor viser, hvordan du får adgang til delingen ved hjælp af Windows File Explorer.

  1. Åbn File Explorer, og højreklik i venstre rude på “This PC”.
  2. Vælg “Choose a custom network location”, og klik derefter på “Next”.
  3. In “Internet or network address”, enter the address of the Samba share in the following format \samba_hostname_or_server_ip\sharename.

  4. Klik på “Næste”, og du vil blive bedt om at indtaste loginoplysningerne som vist nedenfor:

  5. I det næste vindue kan du skrive et brugerdefineret navn til netværksplaceringen. Standardværdien vil blive hentet af Samba-serveren.

  6. Klik på “Næste” for at gå til det sidste skærmbillede i guiden til oprettelse af forbindelse.
  7. Klik på “Afslut”, og filerne på Samba-serveren vil blive vist.

Konklusion #

I denne vejledning har du lært, hvordan du installerer en Samba-server på CentOS 7 og opretter forskellige typer af delte og brugere. Vi har også vist dig, hvordan du kan oprette forbindelse til Samba-serveren fra Linux-, macOS- og Windows-enheder.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.