Android

Hvordan installere og konfigurere samba på ubuntu 18.04

Install and Configure Samba Server in Ubuntu (Password Less)

Install and Configure Samba Server in Ubuntu (Password Less)

Innholdsfortegnelse:

Anonim

Samba er en gratis og åpen kildekodeimplementering av SMB / CIFS nettverks fildelingsprotokoll som lar sluttbrukere få tilgang til filer, skrivere og andre delte ressurser.

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 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 denne 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 fortsetter, må du sørge for at du er logget inn på Ubuntu 18.04-systemet ditt som en bruker med sudo-rettigheter.

Installerer Samba på Ubuntu

Samba er tilgjengelig fra de offisielle Ubuntu-lagringene. Følg trinnene nedenfor for å installere det på Ubuntu-systemet:

  1. Start med å oppdatere apt-pakkeindeksen:

    sudo apt update

    Installer Samba-pakken med følgende kommando:

    sudo apt install samba

    Når installasjonen er fullført, starter Samba-tjenesten automatisk. For å sjekke om Samba-serveren kjører, skriver du inn:

    sudo systemctl status smbd

    Utdataene skal se ut som nedenfor og indikere at Samba-tjenesten er aktiv og kjø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 tidspunktet er Samba installert og klar til å konfigureres.

Konfigurere brannmuren

Forutsatt at du bruker UFW å administrere brannmuren din, kan du åpne portene ved å aktivere 'Samba'-profilen:

sudo ufw allow 'Samba'

Konfigurere globale Samba-alternativer

Før du gjør endringer i Samba-konfigurasjonsfilen, må du lage en sikkerhetskopi for fremtidige referanseformål:

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

Standard konfigurasjonsfil som sendes med Samba-pakken er konfigurert for frittstående Samba-server. Åpne filen og sørg for at server role er satt 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 grensesnitt. Hvis du bare vil begrense tilgangen til Samba-serveren fra det interne nettverksdelingen, følg de to følgende linjene og spesifiser grensesnittene som 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 du er ferdig, kjører testparm å sjekke Samba-konfigurasjonsfilen for feil. Hvis det ikke er syntaksfeil, ser du Loaded services file OK.

Til slutt, start Samba-tjenestene på nytt med:

sudo systemctl restart smbd sudo systemctl restart nmbd

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.

Slik oppretter du katalogtypen /samba :

sudo mkdir /samba

Sett sambashare til sambashare . Denne gruppen er opprettet under Samba-installasjonen, senere vil vi legge alle Samba-brukere til denne gruppen.

sudo chgrp sambashare /samba

Samba bruker Linux-brukere og gruppetillatelsessystem, men 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 innledningen, 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 i sambashare 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 satt til å aktivere Samba-kontokjøringen:

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 chmod kommando gir skrive / lese tilgang til medlemmer av sambashare gruppen i /samba/users katalogen:

sudo chmod 2770 /samba/users

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:

  • og - Navnene på aksjene som du vil bruke når du logger deg på. path - Stien til delen. browseable - Hvorvidt aksjen skal være oppført i listen over tilgjengelige aksjer. Ved å stille til no andre brukere vil ikke kunne se andelen. read only - om brukerne som er spesifisert i valid 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 smbd sudo systemctl restart nmbd

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 i 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.

  1. Å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 Samba server på Ubuntu 18.04 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 ubuntu