I denne opplæringen, vi kommer til å lære hvordan du installerer og konfigurerer en Samba-serveren på Ubuntu til å dele filer på det lokale nettverket. Samba er et gratis og » open-source SMB/CIFS-protokollen gjennomføring for Unix-og Linux som gjør det mulig for fil-og skriverdeling mellom Unix/Linux, Windows og macOS maskiner i et lokalt nettverk.

Samba er vanligvis installert og kjøre på Linux., Det består av flere programmer som tjener forskjellige, men beslektede formål, de to viktigste av disse er:

  • smbd: gir SMB/CIFS-tjeneste (fildeling og utskrift), kan også fungere som et Windows-domene kontrolleren.
  • nmbd: Dette daemon gir NetBIOS name service, lytter etter navn-server forespørsler. Det gjør det også Samba-server for å bli funnet av andre datamaskiner på nettverket.

Hvordan å Installere Samba-Serveren på Ubuntu

Samba er inkludert i de fleste Linux-distribusjoner. For å installere Samba på Ubuntu, bare kjør følgende kommando i terminal.,

sudo apt install samba samba-common-bin

De nyeste stabile versjon er tilgjengelig 4.12.0, utgitt på Mars 03, 2019. For å sjekke din Samba-versjonen, run

smbd --version

Eksempel på utdata:

Version 4.7.6-Ubuntu

for Å sjekke om Samba-tjenesten kjører, utfør følgende kommando.

systemctl status smbd nmbd

for Å starte disse to tjenestene, utfør følgende kommando:

sudo systemctl start smbd nmbd

Når du har startet, smbd vil bli lytter på TCP-port 139 og 445. nmbd vil lytte på UDP port 137 og 138.,

  • TCP 139: brukes for fil-og skriverdeling og andre operasjoner.
  • TCP 445: NetBIOS-mindre CIFS-port.
  • UDP 137: brukes for NetBIOS nettverk surfing.
  • UDP 138: brukes for NetBIOS name service).

Hvis du har aktivert UFW brannmur på Ubuntu, så du trenger ikke å åpne ovenfor porter i brannmuren med den følgende kommandoen.

sudo ufw allow samba

Opprette en Privat Samba Share

I denne delen vil vi se på hvordan å lage en egen Samba share-som krever at klienten til å skrive inn brukernavn og passord for å få tilgang., Den viktigste Samba ligger konfigurasjonsfilen på: /etc/samba/smb.conf. Du kan redigere det i terminal med en kommando-linje tekst editor som nano.

sudo nano /etc/samba/smb.conf

I – delen, må du kontrollere at verdien av workgroup er det samme med arbeidsgruppen innstillingene for Windows-datamaskiner.,

workgroup = WORKGROUP

Du kan finne den innstillingen på din Windows-datamaskin ved å gå til Control Panel > System and Security > System.

Deretter blar du ned til bunnen av filen. (I nano tekst editor, kan du oppnå dette ved å trykke på CTRL+WCTRL+V. ) Legg til en ny del som nedenfor.,

Forklaring:

  • Private er navnet på mappen som vises på Windows-nettverket.
  • kommentar er en beskrivelse for den delte mappen.
  • banen parameteren angir stien til den delte mappen. Jeg bruker /srv/samba/private/ som et eksempel. Du kan også bruke en mappe i din hjemmekatalog.
  • browseable = yes: Tillater andre datamaskiner i nettverket for å se Samba server og Samba share., Hvis du velger nei, brukere må vite navnet på Samba-serveren og deretter manuelt inn på en sti i filbehandling til å få tilgang til den delte mappen.
  • guest ok = no: Deaktiver gjestetilgang. Med andre ord, du trenger å skrive inn brukernavn og passord på klientdatamaskinen for å få tilgang til den delte mappen.
  • writable = yes: Tilskudd både lese-og skrivetilgang til kunder.
  • valid users = @samba: Bare brukere i samba-gruppen er lov til å få tilgang til denne Samba share.

Lagre og lukk filen., (For å lagre filen i nano tekst editor, trykker du på Ctrl+O, og trykk deretter Enter for å bekrefte fil til å skrive. For å lukke filen, trykker du på Ctrl+X. Nå må vi lage en Samba bruker. Først må vi lage en standard Linux-bruker-konto med følgende kommando. Bytt username med dine ønskede brukernavn.

sudo adduser username

Du vil bli bedt om å angi en Unix-passord., Etter det, må du også angi en egen Samba-passord for den nye brukeren med følgende kommando:

sudo smbpasswd -a username

Opprett samba-gruppen.

sudo groupadd samba

Og legge til denne brukeren til samba-gruppen.

sudo gpasswd -a username samba

Oppretter den private dele mappen.

sudo mkdir -p /srv/samba/private/

samba gruppe må ha lese -, skrive og eksekvere tillatelse på den delte mappen. Du kan gi disse tillatelsene ved å kjøre følgende kommando., (Hvis systemet ditt ikke har setfacl – kommandoen, må du installere acl pakken sudo apt install acl.)

sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/

Neste, kjør følgende kommando for å kontrollere om det finnes syntaktiske feil.

testparm

Nå er alle satt til å gjøre er å starte smbd og nmbd daemon.,

sudo systemctl restart smbd nmbd

Hvordan å Lage en Samba Offentlig Dele Uten Godkjenning

for Å lage en offentlig dele uten at det kreves brukernavn og passord, må følgende betingelser være oppfylt.

  • Angi security = user i den globale delen av Samba konfigurasjonsfilen. Selv om du kan opprette en offentlig dele med security = share modus, men dette security mode er ugyldig. Det er sterkt anbefalt at du unngå share modus.
  • Angi map to guest = bad user i den globale delen av Samba konfigurasjonsfilen., Dette vil føre til smbd for å bruke en gjestekonto til å godkjenne kunder som ikke har registrert konto på Samba-tjeneren. Siden det er en gjestekonto, Samba-kunder trenger ikke å angi passordet.
  • Angi guest ok = yes i aksje-definisjon for å gi gjest tilgang.
  • Grant lese, skrive og eksekvere tillatelse av den offentlige mappen til nobody konto, som er standard-gjest konto.

Som et spørsmål om faktum, de to første forholdene er allerede møtt som Samba som standard bruker disse to innstillingene.,

Her er en steg-for-steg guide til å skape en felles aksje. Første, åpne og redigere Samba konfigurasjonsfilen.

sudo nano /etc/samba/smb.conf

I – delen, må du kontrollere at verdien av workgroup er det samme med arbeidsgruppen innstillingene for Windows-datamaskiner.

workgroup = WORKGROUP

Du kan finne den innstillingen på din Windows-datamaskin ved å gå til Control Panel > System and Security > System.,

Deretter blar du ned til bunnen av filen og lim inn følgende linjer.

Lagre og lukk filen. Neste, lage /srv/samba/public/ mappe.

sudo mkdir -p /srv/samba/public

Deretter forsikre deg nobody konto har lese, skrive og eksekvere tillatelse på public folder (felles mappe ved å kjøre følgende kommando. (Hvis systemet ditt ikke har setfacl – kommandoen, må du installere acl pakken sudo apt install acl.,)

sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/

Start på nytt smbd og nmbd.

sudo systemctl restart smbd nmbd

få Tilgang til Samba Delt Mappe Fra Windows

På en Windows-datamaskin som er i samme nettverk, åpne File Explorer, og klikk Network på den venstre ruten. Hvis du ser følgende melding, må du klikke på meldingen og slå på nettverksgjenkjenning og fildeling.

File sharing is turned off. Some network computers and devices might not be visible.

Neste, skriv inn \\ etterfulgt av IP-adressen til Samba-serveren i adresselinjen i filutforsker, som dette: \\192.168.0.102., Du vil se en liste over delte ressurser på Samba-tjeneren.

Deretter dobbeltklikker du den delte mappen. For å få tilgang til den private del, du trenger å gå inn i samba-brukernavn og passord. Du trenger ikke å gjøre det for å få tilgang til offentlig dele.

Når du er tilkoblet, kan du lese, skrive og slette filer i Samba delte mappen.

Koble Feil

Hvis du får en feilmelding om følgende:

You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.

Du kan prøve å koble til Samba dele fra ledeteksten., Åpne en ledetekst, og deretter kan du kjøre følgende kommando for å lukke gjeldende Samba-økten.

net use \\samba-server-ip\share-name /delete

Neste, koble til Samba dele med følgende kommando:

net use \\samba-server-ip\share-name /user:samba-username password

Når over kommandoen er fullført, kan du gå til kategorien Nettverk i File Explorer, og nå bør du være i stand til å få tilgang til Samba share.

– Stasjonen Kartlegging på Windows

En funksjon i Windows-operativsystemet er evnen til å tilordne en stasjonsbokstav (for eksempel S:) til en ekstern katalog., Å tilordne en stasjonsbokstav S: til Samba share -, høyre-klikk på Samba delte mappen og velg Map network drive. Deretter velger du en stasjonsbokstav, og klikk på Fullfør.

Når stasjonen kartlegging er etablert, programmer kan få tilgang til filene i Samba dele gjennom stasjonsbokstaven S:. Og dette Samba dele vil bli montert automatisk når du logger på din Windows-datamaskin.,

få Tilgang til Samba Share-Mappen i Nautilus File Manager på Linux

Hvis du bruker Nautilus file manager, og klikk deretter på Other Locations på den venstre ruten. På bunnen, vil du se et alternativ for å koble til server. For å få tilgang til Samba dele, skriver du inn smb:// etterfulgt av IP-adressen til Samba-server og trykk på Enter. For eksempel:

  • smb://192.168.0.102

Du vil se en liste over delte ressurser på Samba-tjeneren.,

Dersom du klikker privat delt mappe, må du angi Samba-brukernavn og passord. Hvis du klikker på den offentlige delte mappen, og velg deretter å koble til som Anonym.

Automatisk Mount Samba Dele Fra kommandolinjen i Linux

Hvis du trenger å automatisk montere Samba share ved oppstart, kan du bruke kommandolinje for å montere og deretter legge til en oppføring i /etc/fstab – filen. For å gjøre det, må du installere cifs-utils pakken.,

CentOS/RHEL

sudo dnf install cifs-utils

Debian/Ubuntu –

– >

sudo apt install cifs-utils

Deretter opprette et monteringspunkt for Samba share.

sudo mkdir /mnt/samba-private

Nå kan du bruke følgende kommando til å montere en privat delte mappen.

sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/

Det vil be deg om å angi Samba-passord. Etter at det vil bli montert på /mnt/samba-private/ – katalogen.

for Å automatisk montere Samba dele, redigere /etc/fstab – filen.

sudo nano /etc/fstab

Legg til følgende linje i filen.,

Hvor:

  • //192.168.0.102/privat: IP-adressen til Samba-serveren, og navnet på den delte ressursen.
  • /mnt/samba-privat: monteringspunkt for Samba share.
  • cifs: filsystem type
  • x-systemd.automount: Dette alternativet angir systemd å skape en automount enhet for filsystemet. Vi bruker denne fordi det sikrer den eksterne filsystemet er montert bare etter at det er nettverkstilgang.
  • _netdev: angir Dette som fjellet krever nettverk.
  • legitimasjon=: Linux bør se etter legitimasjon i /etc/samba-credential.conf – filen.,
  • uid=1000,gid=1000: som standard montert filsystemet vil bli eid av root-brukeren. Vi bruker uid og gid å endre eierskap i filsystemet. Vanligvis kan du bruke din egen uid og gid, som begge 1000 som standard.
  • x-gvfs-vis: Hvis du bruker GNOME-skrivebordet eller dets derivater, kan du bruke dette alternativet for å vise montert filsystemet i filbehandling.

Lagre og lukk filen. Deretter opprette credential fil.

sudo nano /etc/samba-credential.conf

Legg til følgende linjer i filen.

username=your_samba_usernamepassword=samba_passworddomain=WORKGROUP

Lagre og lukk filen., Sørg bare for root brukeren kan lese filen.

sudo chmod 600 /etc/samba-credential.conf

Hvis du starter din Linux-maskin nå, Samba share-vil automatisk bli montert.

Kan ikke Skrive til Samba Dele?

CIFS-mount beskrevet ovenfor, kan du skrive til Samba share. Hvis du se følgende feilmelding når du oppretter en fil:

Read-only file system

Sjekk at du har angitt. writable = yes i Samba konfigurasjonsfilen., Noen ganger, Samba delte mappen er på en ekstern harddisk, så sørg for at du montere den eksterne harddisken i lese-skrive-modus på Samba-tjeneren. For eksempel, jeg monterte min btrfs harddisk med følgende linje i /etc/fstab.

LABEL=5TB /mnt/5TB btrfs defaults 0 0

Det viser seg at defaults alternativet tillater ikke skrive drift. For å gjøre det skrivbar, legge til rw alternativ.

LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0

Så avmontere harddisken. Du må bruke din egen mount point.

sudo umount /mnt/5TB

Og montere det igjen.,

sudo mount -a

Feilsøking Tips

Hvis din Samba-serveren ikke fungerer som forventet, kan du sjekke loggen filer under /var/log/samba/ – katalogen. Du kan legge til følgende linje i – delen av /etc/samba/smb.conf fil for å øke logg nivå hvis du vil logge deg mer informasjon.

log level = 2

Innpakning Opp

det er det! Jeg håper denne veiledningen har hjulpet deg å sette opp Samba-serveren på Ubuntu. Som alltid, hvis du fant denne artikkelen nyttig, så abonner på vårt gratis nyhetsbrev., Og du kan også lese følgende artikkel for å dele skriveren på det lokale nettverket.

  • Sett Opp KOPPER utskriftsserveren på Ubuntu (Bonjour, IPP, Samba, AirPrint)
Pris denne opplæringen

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *