Android

Sådan installeres og konfigureres samba på ubuntu 18.04

Configure Static IP Addresses on Ubuntu 18.04 LTS Server

Configure Static IP Addresses on Ubuntu 18.04 LTS Server

Indholdsfortegnelse:

Anonim

Samba er en gratis og open source genimplementering af SMB / CIFS-netværks fildelingsprotokol, der giver slutbrugere adgang til filer, printere og andre delte ressourcer.

Denne tutorial forklarer, hvordan man installerer Samba på Ubuntu 18.04 og konfigurerer det som en enkeltstående server til at give fildeling på tværs af forskellige operativsystemer over et netværk.

Vi opretter følgende Samba-aktier og -brugere.

Brugere:

  • sadmin - En administrativ bruger med læse- og skriveadgang til alle delinger. josh - En regelmæssig bruger med sin egen private fildeling.

Aktier:

  • brugere - Denne del vil være tilgængelig med læse / skrive tilladelser fra alle brugere. josh - Denne del er kun tilgængelig med læse / skrive tilladelser af brugere josh og sadmin.

Fildelingerne er tilgængelige fra alle enheder på dit netværk. Senere i denne tutorial vil vi også give detaljerede instruktioner om, hvordan man opretter forbindelse til Samba-serveren fra Linux, Windows og macOS-klienter.

Forudsætninger

Inden du fortsætter, skal du sørge for, at du er logget på dit Ubuntu 18.04-system som en bruger med sudo-privilegier.

Installation af Samba på Ubuntu

Samba er tilgængelig fra de officielle Ubuntu-lagre. Følg nedenstående trin for at installere det på dit Ubuntu-system:

  1. Start med at opdatere apt pakket-indekset:

    sudo apt update

    Installer Samba-pakken med følgende kommando:

    sudo apt install samba

    Når installationen er afsluttet, starter Samba-tjenesten automatisk. For at kontrollere, om Samba-serveren kører, skal du skrive:

    sudo systemctl status smbd

    Outputet skal se sådan ud som nedenfor, hvilket indikerer, at Samba-tjenesten er aktiv og kører:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

På dette tidspunkt er Samba installeret og klar til at blive konfigureret.

Konfiguration af firewall

Hvis du antager, at du bruger UFW til at administrere din firewall, kan du åbne porte ved at aktivere 'Samba'-profilen:

sudo ufw allow 'Samba'

Konfiguration af globale Samba-indstillinger

Inden du foretager ændringer i Samba-konfigurationsfilen, skal du oprette en sikkerhedskopi til fremtidige referenceformål:

sudo cp /etc/samba/smb.conf{,.backup}

Standardkonfigurationsfilen, der leveres med Samba-pakken, er konfigureret til den enkeltstående Samba-server. Åbn filen, og sørg for, at server role er indstillet til standalone server

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

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Som standard lytter Samba på alle grænseflader. Hvis du kun vil begrænse adgangen til Samba-serveren fra dit interne netværks uncomment, følges de følgende to linjer og specificerer grænsefladerne, der skal bindes til:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Når det er gjort, skal du køre testparm at kontrollere Samba-konfigurationsfilen for fejl. Hvis der ikke er nogen syntaksfejl, vil du se Loaded services file OK.

Endelig skal du genstarte Samba-tjenesterne med:

sudo systemctl restart smbd sudo systemctl restart nmbd

Oprettelse af Samba-brugere og katalogstruktur

For lettere vedligeholdelighed og fleksibilitet i stedet for at bruge de normale hjemmekataloger ( /home/user ), vil alle Samba-kataloger og data være placeret i /samba biblioteket.

Sådan opretter du katalogtypen /samba :

sudo mkdir /samba

Indstil gruppeejerskabet til sambashare . Denne gruppe oprettes under Samba-installationen, senere tilføjer vi alle Samba-brugere til denne gruppe.

sudo chgrp sambashare /samba

Samba bruger Linux-brugere og gruppetilladelsessystem men har sin egen autentificeringsmekanisme adskilt fra standard Linux-godkendelsen. Vi opretter brugerne ved hjælp af standard Linux- useradd værktøjet og indstiller derefter brugeradgangskoden med smbpasswd værktøjet.

Som vi nævnte i introduktionen, opretter vi en regelmæssig bruger, der har adgang til sin private fildeling og en administrativ konto med læse- og skriveadgang til alle delinger på Samba-serveren.

Oprettelse af Samba-brugere

For at oprette en ny bruger ved navn josh bruge følgende kommando:

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

useradd indstillingerne har følgende betydninger:

  • -M - opret ikke brugerens hjemmekatalog. Vi opretter manuelt dette bibliotek. -d /samba/josh - indstil brugerens hjemmekatalog til /samba/josh . -s /usr/sbin/nologin - deaktiver shell-adgang for denne bruger. -G sambashare - tilføj brugeren til sambashare gruppen.

Opret brugerens hjemmekatalog, og indstil katalogejerskabet til brugerjosh og gruppe sambashare :

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

Den følgende kommando tilføjer setgid-biten til /samba/josh biblioteket, så de nyligt oprettede filer i dette bibliotek vil arve gruppen af ​​overordnede biblioteker. På denne måde, uanset hvilken bruger der opretter en ny fil, vil filen have en gruppeejer af sambashare . Hvis du for eksempel ikke indstiller bibliotekets tilladelser til 2770 og sadmin brugeren opretter en ny fil, vil brugerjosh ikke være i stand til at læse / skrive til denne fil.

sudo chmod 2770 /samba/josh

Føj josh brugerkontoen til Samba-databasen ved at indstille brugeradgangskoden:

sudo smbpasswd -a josh

Du bliver bedt om at indtaste og bekræfte brugeradgangskoden.

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

Når adgangskoden er indstillet til at aktivere Samba-kontokørsel:

sudo smbpasswd -e josh

Enabled user josh.

For at oprette en anden bruger skal du gentage den samme proces som når du opretter brugerjosh.

Lad os derefter oprette en bruger- og gruppe sadmin . Alle medlemmer af denne gruppe har administrative tilladelser. Senere, hvis du vil give administrative tilladelser til en anden bruger, skal du blot tilføje denne bruger til sadmin gruppen.

Opret den administrative bruger ved at skrive:

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

Kommandoen ovenfor vil også oprette en gruppe sadmin og tilføje brugeren til både sadmin og sambashare grupper.

Indstil en adgangskode og aktiver brugeren:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Opret derefter kataloget til Users deling af Users :

sudo mkdir /samba/users

Indstil katalogejerskabet til bruger sadmin og gruppe sambashare :

sudo chown sadmin:sambashare /samba/users

Dette bibliotek er tilgængeligt for alle godkendte brugere. Følgende chmod kommando giver skriv / læse adgang til medlemmer af sambashare gruppen i /samba/users biblioteket:

sudo chmod 2770 /samba/users

Konfiguration af Samba-aktier

Åbn Samba-konfigurationsfilen, og tilføj sektionerne:

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

Valgmulighederne har følgende betydninger:

  • og - Navnene på de dele, du vil bruge, når du logger ind. path - Stien til delingen. browseable - Hvorvidt aktien skal vises på listen over tilgængelige aktier. Ved at indstille til no andre brugere vil ikke være i stand til at se delingen. read only - Uanset om de brugere, der er angivet i den valid users , er i stand til at skrive til denne deling. force create mode - Angiver tilladelser for de nyligt oprettede filer i denne deling. force directory mode - Angiver tilladelser for de nyligt oprettede mapper i denne del. valid users - En liste over brugere og grupper, der har adgang til delingen. Grupper er præfixeret med @ symbolet.

For mere information om tilgængelige indstillinger se dokumentationssiden for Samba-konfigurationsfilen.

Når du er færdig, skal du genstarte Samba-tjenesterne med:

sudo systemctl restart smbd sudo systemctl restart nmbd

I de følgende sektioner viser vi dig, hvordan du opretter forbindelse til en Samba-deling fra Linux-, macOS- og Windows-klienter.

Opretter forbindelse til en Samba Share fra Linux

Linux-brugere kan få adgang til samba-delen fra kommandolinjen ved hjælp af filhåndteringen eller montere Samba-delen.

Brug af smbclient-klienten

smbclient er et værktøj, der giver dig adgang til Samba fra kommandolinjen. smbclient pakken er ikke forudinstalleret på de fleste Linux-distros, så du bliver nødt til at installere den med din distributionspakkemanager.

Sådan installeres smbclient på Ubuntu og Debian-kørsel:

sudo apt install smbclient

Sådan installeres smbclient på CentOS og Fedora run:

sudo yum install samba-client

Syntaks for at få adgang til en Samba-del er som følger:

mbclient //samba_hostname_or_server_ip/share_name -U username

For eksempel at oprette forbindelse til en del, der hedder josh på en Samba-server med IP-adresse 192.168.121.118 som brugerjosh, ville du køre:

smbclient //192.168.121.118/josh -U josh

Du bliver bedt om at indtaste brugeradgangskoden.

Enter WORKGROUP\josh's password:

Når du har indtastet adgangskoden, logges du i Samba kommandolinjegrænseflade.

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

Montering af Samba-aktien

For at montere en Samba-del på Linux først skal du installere cifs-utils pakken.

På Ubuntu og Debian kører:

sudo apt install cifs-utils

På CentOS og Fedora kører:

sudo yum install cifs-utils

Opret derefter et monteringspunkt:

sudo mkdir /mnt/smbmount

Monter delingen ved hjælp af følgende kommando:

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

For eksempel at montere en del med navnet josh på en Samba-server med IP-adresse 192.168.121.118 som brugerjosh til /mnt/smbmount monteringspunktet, du vil køre:

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

Du bliver bedt om at indtaste brugeradgangskoden.

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

Brug af GUI

Filer, standardfilhåndteringen i Gnome har en indbygget mulighed for at få adgang til Samba-aktier.

  1. Åbn filer og klik på "Andre placeringer" i sidebjælken. I "Opret forbindelse til server" skal du indtaste adressen på Samba-delen i følgende format smb://samba_hostname_or_server_ip/sharename Klik på "Connect", og følgende skærmbillede vises:

Konklusion

I denne tutorial har du lært, hvordan du installerer Samba-server på Ubuntu 18.04 og skaber forskellige typer delte og brugere. Vi har også vist dig, hvordan du opretter forbindelse til Samba-serveren fra Linux-, macOS- og Windows-enheder.

samba ubuntu