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+W
så CTRL+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 medsecurity = 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 tilsmbd
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)