Android

Hvordan installere og konfigurere samba på centos 7

Step by step samba configuration in CentOS 7

Step by step samba configuration in CentOS 7

Innholdsfortegnelse:

Anonim

Samba er en gratis og åpen kildekodeimplementering av SMB / CIFS nettverks fildelingsprotokoll som lar sluttbrukere få tilgang til filer, skrivere og andre delte ressurser.

I denne opplæringen vil vi vise hvordan du installerer Samba på CentOS 7 og konfigurerer den som en frittstående server for å gi fildeling på tvers av forskjellige operativsystemer over et nettverk.

Vi oppretter følgende Samba-aksjer og brukere.

brukere:

  • sadmin - En administrativ bruker med lese- og skrivetilgang til alle delinger. josh - En vanlig bruker med sin egen private fildeling.

aksjer:

  • brukere - Denne delen vil være tilgjengelig med lese- / skrivetillatelser for alle brukere. josh - Denne delingen vil bare være tilgjengelig med lese- / skrivetillatelser av brukerne josh og sadmin.

Fildelingene vil være tilgjengelige fra alle enheter i nettverket ditt. Senere i opplæringen vil vi også gi detaljerte instruksjoner om hvordan du kobler til Samba-serveren fra Linux, Windows og macOS-klienter.

Forutsetninger

Før du begynner, må du sørge for at du er logget inn på CentOS 7-systemet ditt som en bruker med sudo-rettigheter.

Installerer Samba på CentOS

Samba er tilgjengelig fra standard CentOS-lagringene. Følg kommandoen for å installere den på CentOS-systemet:

sudo yum install samba samba-client

Når installasjonen er fullført, starter du Samba-tjenestene og lar dem starte automatisk ved systemstart:

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

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

smbd tjenesten tilbyr fildeling og utskriftstjenester og lytter på TCP-portene 139 og 445. nmbd tjenesten gir NetBIOS over IP- nmbd til klienter og lytter på UDP-port 137.

Konfigurere brannmur

Nå som Samba er installert og kjører på CentOS-maskinen din, må du konfigurere brannmuren og åpne de nødvendige portene. Gjør følgende kommandoer for å gjøre dette:

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

Opprette Samba-brukere og katalogstruktur

For enklere vedlikehold og fleksibilitet i stedet for å bruke de vanlige hjemmekatalogene ( /home/user ), vil alle Samba-kataloger og data bli lokalisert i /samba katalogen.

Start med å lage /samba katalogen:

sudo mkdir /samba

Opprett en ny gruppe som heter sambashare . Senere vil vi legge til alle Samba-brukere i denne gruppen.

sudo groupadd sambashare

Sett /samba sambashare til sambashare :

sudo chgrp sambashare /samba

Samba bruker Linux-brukere og gruppetillatelsessystem, men det har sin egen autentiseringsmekanisme atskilt fra standard Linux-godkjenning. Vi vil opprette brukerne ved å bruke det vanlige Linux useradd verktøyet og deretter angi brukerpassordet med smbpasswd verktøyet.

Som vi nevnte i introduksjonen, vil vi opprette en vanlig bruker som vil ha tilgang til sin private fildeling og en administrasjonskonto med lese- og skrivetilgang til alle delinger på Samba-serveren.

Opprette Samba-brukere

For å opprette en ny bruker som heter josh , bruk følgende kommando:

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

useradd alternativene har følgende betydninger:

  • -M - ikke opprett brukerens hjemmekatalog. Vi oppretter denne katalogen manuelt. -d /samba/josh - sett brukerens hjemmekatalog til /samba/josh . -s /usr/sbin/nologin - deaktiver -s /usr/sbin/nologin for denne brukeren. -G sambashare - legg til brukeren i sambashare gruppen.

Opprett brukerens hjemmekatalog og sett katalogeierskapet til sambashare og gruppe sambashare :

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

Følgende kommando vil legge setgid-biten til /samba/josh katalogen, så de nyopprettede filene i denne katalogen vil arve gruppen til overordnet katalog. På denne måten, uansett hvilken bruker som oppretter en ny fil, vil filen ha en eier av sambashare . Hvis du for eksempel ikke angir katalogens tillatelser til 2770 og sadmin brukeren oppretter en ny fil, vil ikke brukeren kunne lese / skrive til denne filen.

sudo chmod 2770 /samba/josh

Legg til josh brukerkontoen i Samba-databasen ved å angi brukerpassordet:

sudo smbpasswd -a josh

Du blir bedt om å oppgi og bekrefte brukerpassordet.

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

Når passordet er angitt, aktiverer du Samba-kontoen ved å skrive:

sudo smbpasswd -e josh

Enabled user josh.

For å opprette en annen bruker, gjenta samme prosess som når du oppretter josh .

La oss deretter opprette en bruker og gruppe sadmin . Alle medlemmer av denne gruppen har administrative tillatelser. Senere hvis du vil gi administrative tillatelser til en annen bruker, bare legg til den brukeren i sadmin gruppen.

Opprett den administrative brukeren ved å skrive:

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

Kommandoen over vil også opprette en gruppe sadmin og legge brukeren til både sadmin og sambashare grupper.

Angi et passord og aktiver brukeren:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Deretter oppretter du Users :

sudo mkdir /samba/users

Sett katalogeierskapet til bruker sadmin og gruppere sambashare :

sudo chown sadmin:sambashare /samba/users

Denne katalogen vil være tilgjengelig for alle autentiserte brukere. Følgende kommando konfigurerer skrive- / lesetilgang til medlemmer av sambashare gruppen i /samba/users katalogen:

sudo chmod 2770 /samba/users

Konfigurere Samba-aksjer

Åpne Samba-konfigurasjonsfilen og legg til delene:

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

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

Alternativene har følgende betydninger:

  • og - Navnene på aksjene som du vil bruke når du logger deg på. path - Stien til delen. browseable - Hvorvidt aksjen skal være oppført i listen over tilgjengelige aksjer. Ved å stille til no andre brukere vil ikke kunne se andelen. read only - om brukerne som er spesifisert i valid users brukerliste, kan skrive til denne delingen. force create mode - Angir tillatelser for de nyopprettede filene i denne delingen. force directory mode - Angir tillatelser for de nyopprettede katalogene i denne delingen. valid users - En liste over brukere og grupper som har tilgang til delingen. Grupper er forhåndsinnstilt med @ -symbolet.

For mer informasjon om tilgjengelige alternativer, se dokumentasjonssiden for Samba-konfigurasjonsfilen.

Når du er ferdig, start Samba-tjenestene på nytt med:

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

I de følgende seksjonene vil vi vise deg hvordan du kobler til en Samba-aksje fra Linux-, macOS- og Windows-klienter.

Koble til en Samba Share fra Linux

Linux-brukere kan få tilgang til samba-delen fra kommandolinjen ved å bruke filbehandleren eller montere Samba-aksjen.

Bruker smbclient-klienten

smbclient er et verktøy som lar deg få tilgang til Samba fra kommandolinjen. smbclient pakken er ikke forhåndsinstallert på de fleste Linux-distros, så du må installere den med distribusjonspakkebehandleren din.

Slik installerer du smbclient på Ubuntu og Debian run:

sudo apt install smbclient

Slik installerer du smbclient på CentOS og Fedora run:

sudo yum install samba-client

Syntaksen for tilgang til en Samba-aksje er som følger:

mbclient //samba_hostname_or_server_ip/share_name -U username

For eksempel for å koble til en deling som heter josh på en Samba-server med IP-adresse 192.168.121.118 som josh , ville du kjørt:

smbclient //192.168.121.118/josh -U josh

Du blir bedt om å oppgi brukerpassordet.

Enter WORKGROUP\josh's password:

Når du har angitt passordet, blir du logget på Samba-kommandolinjegrensesnittet.

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

Montering av Samba-andelen

For å montere en Samba-aksje på Linux først, må du installere cifs-utils pakken.

På Ubuntu og Debian kjører:

sudo apt install cifs-utils

På CentOS og Fedora kjører:

sudo yum install cifs-utils

Deretter oppretter du et monteringspunkt:

sudo mkdir /mnt/smbmount

Monter delingen ved å bruke følgende kommando:

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

For eksempel å montere en deling som heter josh på en Samba-server med IP-adresse 192.168.121.118 som josh til /mnt/smbmount monteringspunktet du vil kjøre:

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

Du blir bedt om å oppgi brukerpassordet.

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

Bruker GUI

Files, standard filbehandler i Gnome har et innebygd alternativ for å få tilgang til Samba-aksjer.

  1. Åpne filer og klikk på "Andre steder" i sidefeltet. I "Koble til server", skriv inn adressen til Samba-aksjen i følgende format smb://samba_hostname_or_server_ip/sharename Klikk "Connect", og følgende skjermbilde vil vises:

Konklusjon

I denne opplæringen har du lært hvordan du installerer en Samba-server på CentOS 7 og lager forskjellige typer delte og brukere. Vi har også vist deg hvordan du kobler til Samba-serveren fra Linux-, macOS- og Windows-enheter.

samba centos