i denne vejledning lærer vi, hvordan du installerer og konfigurerer en Samba-server på Ubuntu til at dele filer på det lokale netværk. Samba er en gratis og open-source SMB – /CIFS-protokollen for gennemførelsen Unix-og Linux, der giver mulighed for fil-og udskriftsdeling mellem Unix/Linux -, Windows og macOS maskiner i et lokalt netværk.
Samba installeres og kører normalt på Linu.., Det består af flere programmer, der tjener forskellige, men relaterede formål, de vigtigste to er:
- smb: giver SMB – /CIFS-service (fildeling og udskrivning), kan også fungere som en Windows domain controller.
- nmbd: denne dæmon giver NetBIOS navn tjeneste, lytter til navn-server anmodninger. Det gør det også muligt at finde Samba-serveren af andre computere på netværket.
Sådan installeres Samba Server på Ubuntu
Samba er inkluderet i de fleste Linu. – distributioner. For at installere Samba på Ubuntu skal du blot køre følgende kommando i terminal.,
sudo apt install samba samba-common-bin
den seneste tilgængelige stabile version er 4.12.0, udgivet den 03.marts 2019. For at tjekke din Samba version, skal du køre
smbd --version
et eksempel på output:
Version 4.7.6-Ubuntu
for At kontrollere, om Samba tjenesten kører, skal du udføre følgende kommando.
systemctl status smbd nmbd
for At starte disse to tjenester, udføre følgende kommando:
sudo systemctl start smbd nmbd
Når det er startet, smbd
lytter på TCP-port 139 og 445. nmbd
vil lytte på UDP-port 137 og 138.,
- TCP 139: bruges til fil-og printerdeling og andre operationer.
- TCP 445: den NetBIOS-mindre CIFS-port.
- UDP 137: bruges til NetBIOS netværk bro .sing.
- UDP 138: bruges til NetBIOS name service.
Hvis du har aktiveret UF.fire .all på Ubuntu, skal du åbne ovenstående porte i fire .all med følgende kommando.
sudo ufw allow samba
Opret Egen Samba Share
I dette afsnit, vil vi se, hvordan du opretter en privat Samba share, der kræver kunden at indtaste brugernavn og adgangskode for at få adgang., Den vigtigste Samba-konfigurationsfil er placeret på: /etc/samba/smb.conf
. Du kan redigere det i terminal med en kommandolinjeteksteditor som nano
.
sudo nano /etc/samba/smb.conf
I afsnit, sørg for, at værdien af
workgroup
er det samme med den arbejdsgruppe indstillinger af Windows-computere.,
workgroup = WORKGROUP
Du kan finde den indstilling på din Windows-computer ved at gå til Control Panel
> System and Security
> System
.
rul derefter ned til bunden af filen. (I nano te .t editor kan du opnå det ved at trykke på CTRL+W
derefter CTRL+V
. ) Tilføj et nyt afsnit som nedenfor.,
forklaring:
-
Private
er det mappenavn, der vises på networkindo .s-netværket. - kommentaren er en beskrivelse af den delte mappe.
- parameteren sti angiver stien til den delte mappe. Jeg bruger
/srv/samba/private/
som et eksempel. Du kan også bruge en mappe i din hjemmemappe. -
browseable = yes
: Tillad andre computere i netværket at se Samba-serveren og Samba-delingen., Hvis den er indstillet til nej, skal brugerne kende navnet på Samba-serveren og derefter manuelt indtaste en sti i filhåndteringen for at få adgang til den delte mappe. -
guest ok = no
: Deaktiver gæsteadgang. Med andre ord skal du indtaste brugernavn og adgangskode på klientcomputeren for at få adgang til den delte mappe. -
writable = yes
: giver både læse-og skrivetilladelse til klienter. -
valid users = @samba
: kun brugere i samba-gruppen har adgang til denne Samba-andel.
Gem og luk filen., (For at gemme filen i nano-teksteditor skal du trykke på Ctrl+O
, og tryk derefter på Enter for at bekræfte filnavnet, der skal skrives. For at lukke filen skal du trykke på Ctrl+X
.) Nu skal vi oprette en Samba-bruger. For det første skal vi oprette en standard Linu. – brugerkonto med følgende kommando. Udskift username
med dit ønskede brugernavn.
sudo adduser username
Du bliver bedt om at indstille en Uni. – adgangskode., Derefter skal du også indstille en separat Samba-adgangskode til den nye bruger med følgende kommando:
sudo smbpasswd -a username
Opret samba-gruppen.
sudo groupadd samba
og tilføj denne bruger til samba-gruppen.
sudo gpasswd -a username samba
Opret mappen private share.
sudo mkdir -p /srv/samba/private/
samba-gruppen skal have læst, skrive og udføre tilladelse i den delte mappe. Du kan give disse tilladelser ved at udføre følgende kommando., (Hvis dit system ikke har setfacl
kommando, skal du installere acl
pakke med sudo apt install acl
.)
sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/
kør derefter følgende kommando for at kontrollere, om der er syntaktiske fejl.
testparm
Nu er alt tilbage at gøre, er at genstarte smbd
og nmbd
dæmon.,
sudo systemctl restart smbd nmbd
Sådan oprettes en offentlig Samba-aktie uden godkendelse
for at oprette en offentlig aktie uden brugernavn og adgangskode skal følgende betingelser være opfyldt.
- Indstil
security = user
i det globale afsnit af Samba-konfigurationsfil. Selvom du kan oprette en offentlig andel medsecurity = share
– tilstanden, men denne sikkerhedstilstand er forældet. Det anbefales kraftigt, at du undgårshare
– tilstand. - Indstil
map to guest = bad user
i det globale afsnit af Samba-konfigurationsfil., Dette vil medføresmbd
at bruge en gæstekonto til at godkende klienter, der ikke har en registreret konto på Samba-serveren. Da det er en gæstekonto, behøver Samba-klienter ikke at indtaste adgangskode. - Indstil
guest ok = yes
i delingsdefinitionen for at tillade gæstadgang. - Giv læse, skrive og udføre tilladelse fra den offentlige mappe til
nobody
konto, som er standard gæstekonto.faktisk er de to første betingelser allerede opfyldt, da Samba som standard bruger disse to indstillinger.,Her er en trinvis vejledning til at oprette en offentlig andel. Åbn og rediger først Samba-konfigurationsfilen.
sudo nano /etc/samba/smb.conf
I
afsnit, sørg for, at værdien af
workgroup
er det samme med den arbejdsgruppe indstillinger af Windows-computere.workgroup = WORKGROUP
Du kan finde den indstilling på din Windows-computer ved at gå til
Control Panel
>System and Security
>System
.,rul derefter ned til bunden af filen og indsæt følgende linjer.
Gem og luk filen. Opret derefter mappen
/srv/samba/public/
.sudo mkdir -p /srv/samba/public
sørg derefter for, at
nobody
konto har læst, skrive og udføre tilladelse på den offentlige mappe ved at udføre følgende kommando. (Hvis dit system ikke harsetfacl
kommando, skal du installereacl
pakke medsudo apt install acl
.,)sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/
Genstart smbd og nmbd.
sudo systemctl restart smbd nmbd
få Adgang til Samba Delt Mappe Fra Windows
På en Windows computer, der er i samme netværk, skal du åbne Stifinder, og klik på
Network
på den venstre rude. Hvis du ser følgende meddelelse, skal du klikke på meddelelsen og aktivere netværksopdagelse og fildeling.File sharing is turned off. Some network computers and devices might not be visible.
Næste, kan du indtaste
\\
efterfulgt af IP-adressen på Samba-serveren i adresselinjen i Stifinder, som dette:\\192.168.0.102
., Du vil se en liste over delte ressourcer på Samba-serveren.dobbeltklik derefter på den delte mappe. For at få adgang til den private andel skal du indtaste samba brugernavn og adgangskode. Du behøver ikke at gøre det for at få adgang til public share.
Når du er tilsluttet, kan du læse, skrive og slette filer i den delte mappe Samba.
Tilslutning Fejl
Hvis du får følgende fejl:
You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.
Du kan prøve at oprette forbindelse til Samba share fra kommandoprompten., Åbn en kommandoprompt, og kør derefter følgende kommando for at lukke den aktuelle Samba-session.
net use \\samba-server-ip\share-name /delete
Dernæst skal oprette forbindelse til Samba share, med følgende kommando:
net use \\samba-server-ip\share-name /user:samba-username password
Når ovenstående kommando fuldført, skal du gå til fanen Netværk i File Explorer, og nu bør du være i stand til at få adgang til Samba share.
Drevkortlægning på Windowsindo .s
en funktion i operatingindo .s-operativsystemet er evnen til at kortlægge et drevbogstav (f.eks., For at kortlægge drevbogstavet
S:
til Samba-aktien skal du højreklikke på den delte mappe Samba og vælge kort netværksdrev. Vælg derefter et drevbogstav og klik på Udfør.Når drevet kortlægning er etableret, applikationer kan få adgang til filerne i Samba share gennem drevbogstav
S:
. Og denne Samba-andel monteres automatisk, når du logger ind på din .indo .s-computer.,få Adgang til Samba Share Mappe i Nautilus File Manager på Linux
Hvis du bruger Nautilus file manager, og klik derefter på
Other Locations
på den venstre rude. I bunden ser du en mulighed for at oprette forbindelse til serveren. For at få adgang til din Samba-andel skal du indtastesmb://
efterfulgt af Samba-serverens IP-adresse og trykke på Enter. For eksempel:- smb://192.168.0.102
vil Du se en liste af delte ressourcer på Samba-serveren.,
Hvis du klikker på den private delte mappe, skal du indtaste Samba brugernavn og adgangskode. Hvis du klikker på den offentlige delte mappe, skal du vælge at oprette forbindelse som anonym.
Automatisk at Montere Samba Share Fra kommandolinjen på Linux
Hvis du har brug for til automatisk at montere Samba share ved opstart, kan du bruge kommando linie til bjerget, og derefter tilføje en post i
/etc/fstab
fil. For at gøre det skal du installerecifs-utils
pakken.,CentOS/RHEL
sudo dnf install cifs-utils
Debian/Ubuntu
sudo apt install cifs-utils
Så opret et tilslutningspunkt for Samba share.
sudo mkdir /mnt/samba-private
nu kan du bruge følgende kommando til at montere en privat delt mappe.
sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/
det vil bede dig om at indtaste Samba-adgangskoden. Derefter vil den blive monteret på
/mnt/samba-private/
bibliotek.for automatisk at montere Samba-aktien skal du redigere
/etc/fstab
fil.sudo nano /etc/fstab
tilføj følgende linje i filen.,
hvor:
- //192.168.0.102 / privat: IP-adressen på Samba-serveren og aktienavnet.
- /mnt / samba-privat: monteringspunkt for Samba-aktien.
- cifs: filsystem type
- system-systemd.automount: denne indstilling fortæller systemd at oprette en automount-enhed til filsystemet. Vi bruger dette, fordi det sikrer, at fjernfilsystemet kun er monteret, når der er netværksadgang.
- _netdev: dette angiver, at monteringen kræver netværk.
- legitimationsoplysninger=: Linu.skal søge efter legitimationsoplysninger i
/etc/samba-credential.conf
fil., - uid = 1000, gid=1000: som standard vil det monterede filsystem være ejet af rodbrugeren. Vi bruger uid og gid til at ændre ejerskabet af filsystemet. Normalt bruger du din egen uid og gid, som begge er 1000 som standard.
- show-gvfs-Sho.: hvis du bruger GNOME-skrivebordsmiljø eller dets derivater, kan du bruge denne indstilling til at vise det monterede filsystem i filhåndteringen.
Gem og luk filen. Opret derefter legitimationsfilen.
sudo nano /etc/samba-credential.conf
tilføj følgende linjer i filen.
username=your_samba_usernamepassword=samba_passworddomain=WORKGROUP
Gem og luk filen., Sørg for, at kun rodbrugeren kan læse denne fil.
sudo chmod 600 /etc/samba-credential.conf
Hvis du genstarter din Linu. – computer nu, monteres Samba-aktien automatisk.
kan ikke skrive til Samba-aktien?
CIFS-monteringen beskrevet ovenfor giver dig mulighed for at skrive til Samba-aktien. Hvis du ser følgende fejl under oprettelse af en fil:
Read-only file system
Kontroller, at du indstiller
writable = yes
i Samba-konfigurationsfilen., Nogle gange er den delte mappe Samba på en ekstern harddisk, så sørg for at montere den eksterne harddisk I læse-skrive-tilstand på Samba-serveren. For eksempel monterede jeg minbtrfs
harddisk med følgende linje i /etc/fstab.LABEL=5TB /mnt/5TB btrfs defaults 0 0
Det viser sig, at
defaults
option tillader ikke skrive operation. For at gøre det skrivbart skal du tilføjerw
mulighed.LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0
afmonter derefter harddisken. Du skal bruge dit eget monteringspunkt.
sudo umount /mnt/5TB
og monter den igen.,
sudo mount -a
fejlfindingstip
Hvis din Samba-server ikke fungerer som forventet, kan du kontrollere logfilerne under
/var/log/samba/
bibliotek. Du kan tilføje følgende linje isektionen af
/etc/samba/smb.conf
fil for at øge logniveauet, hvis du vil logge mere information.log level = 2
indpakning af
det er det! Jeg håber, at denne tutorial hjalp dig med at oprette Samba-server på Ubuntu. Som altid, hvis du fandt dette indlæg nyttigt, derefter abonnere på vores gratis nyhedsbrev., Og du kan også læse følgende artikel for at dele printeren på det lokale netværk.
- Angiv KOPPER Print Server på Ubuntu (Bonjour, IPP, Samba, AirPrint)
denne tutorial