Step by step samba configuration in CentOS 7
Innholdsfortegnelse:
- Forutsetninger
- Installerer Samba på CentOS
- Konfigurere brannmur
- Opprette Samba-brukere og katalogstruktur
- Opprette Samba-brukere
- Konfigurere Samba-aksjer
- Koble til en Samba Share fra Linux
- Bruker smbclient-klienten
- Montering av Samba-andelen
- Bruker GUI
- Konklusjon
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 isambashare
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:
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:
-
path
- Stien til delen.browseable
- Hvorvidt aksjen skal være oppført i listen over tilgjengelige aksjer. Ved å stille tilno
andre brukere vil ikke kunne se andelen.read only
- om brukerne som er spesifisert ivalid 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.
- Å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 centosHvordan installere og konfigurere en nfs-server på centos 8

I denne opplæringen går du gjennom trinnene som er nødvendige for å sette opp en NFSv4-server på CentOS 8. Vi viser deg også hvordan du installerer et NFS-filsystem på klienten.
Hvordan installere og konfigurere redis på centos 7

Redis er en åpen kildekode i minnedatastruktur. Den kan brukes som en database, cache og meldingsmegler og støtter forskjellige datastrukturer som Strings, Hashes, Lister, Sets etc.
Hvordan installere og konfigurere samba på ubuntu 18.04

Denne veiledningen forklarer hvordan du installerer Samba på Ubuntu 18.04 og konfigurerer den som en frittstående server for å gi fildeling på tvers av forskjellige operativsystemer over et nettverk. Vi vil også gi detaljerte instruksjoner om hvordan du kobler til Samba-serveren fra Linux-, Windows- og macOS-klienter.