Android

Hur man installerar och konfigurerar samba på ubuntu 18.04

How to Install and Configure Samba on Ubuntu 20.04 19.04 18.04 LTS

How to Install and Configure Samba on Ubuntu 20.04 19.04 18.04 LTS

Innehållsförteckning:

Anonim

Samba är en gratis och öppen källkod för implementering av SMB / CIFS-nätverksfildelningsprotokollet som gör det möjligt för slutanvändare att komma åt filer, skrivare och andra delade resurser.

Denna handledning förklarar hur du installerar Samba på Ubuntu 18.04 och konfigurerar det som en fristående server för att tillhandahålla fildelning mellan olika operativsystem över ett nätverk.

Vi skapar följande Samba-aktier och användare.

användare:

  • sadmin - En administrativ användare med läs- och skrivåtkomst till alla delningar. josh - En vanlig användare med sin egen privata fildelning.

aktier:

  • användare - Denna delning är tillgänglig med läs- / skrivbehörigheter för alla användare. josh - Denna delning är tillgänglig med läs / skrivbehörigheter endast av användare josh och sadmin.

Fildelningarna är tillgängliga från alla enheter i ditt nätverk. Senare i denna handledning kommer vi också att ge detaljerade instruktioner om hur du ansluter till Samba-servern från Linux-, Windows- och macOS-klienter.

förutsättningar

Innan du fortsätter, se till att du är inloggad på ditt Ubuntu 18.04-system som en användare med sudo-privilegier.

Installera Samba på Ubuntu

Samba är tillgängligt från de officiella Ubuntu-lagren. Så här installerar du det på ditt Ubuntu-system:

  1. Börja med att uppdatera apt-paketets index:

    sudo apt update

    Installera Samba-paketet med följande kommando:

    sudo apt install samba

    När installationen är klar startar Samba-tjänsten automatiskt. Om du vill kontrollera om Samba-servern körs skriver du:

    sudo systemctl status smbd

    Utgången ska se ut som nedan, vilket indikerar att Samba-tjänsten är aktiv och kör:

    ● 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…

Just nu är Samba installerad och redo att konfigureras.

Konfigurera brandväggen

Förutsatt att du använder UFW att hantera din brandvägg, kan du öppna portarna genom att aktivera profilen 'Samba':

sudo ufw allow 'Samba'

Konfigurera globala Samba-alternativ

Innan du gör ändringar i Samba-konfigurationsfilen ska du skapa en säkerhetskopia för framtida referensändamål:

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

Standardkonfigurationsfilen som skickas med Samba-paketet är konfigurerad för fristående Samba-server. Öppna filen och se till att server role är inställd på 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 lyssnar Samba på alla gränssnitt. Om du bara vill begränsa åtkomsten till Samba-servern från din interna nätverksavdelning, följer följande två rader och anger gränssnitten att binda till:

/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 är gjort kör du testparm att kontrollera Samba-konfigurationsfilen för fel. Om det inte finns några syntaxfel ser du Loaded services file OK.

Slutligen, starta om Samba-tjänsterna med:

sudo systemctl restart smbd sudo systemctl restart nmbd

Skapa Samba-användare och katalogstruktur

För enklare underhåll och flexibilitet istället för att använda standardkatalogerna ( /home/user ) kommer alla Samba-kataloger och data att finnas i katalogen /samba .

Så här skapar du katalogtypen /samba :

sudo mkdir /samba

Ställ sambashare till sambashare . Denna grupp skapas under Samba-installationen, senare lägger vi till alla Samba-användare i denna grupp.

sudo chgrp sambashare /samba

Samba använder Linux-användare och grupptillståndssystem men har en egen autentiseringsmekanism som skiljer sig från standard Linux-autentisering. Vi skapar användarna med det vanliga Linux- useradd verktyget och ställer sedan in lösenordet med smbpasswd verktyget.

Som vi nämnde i inledningen skapar vi en vanlig användare som har åtkomst till sin privata fildelning och ett administratörskonto med läs- och skrivåtkomst till alla delar på Samba-servern.

Skapa Samba-användare

För att skapa en ny användare med namnet josh använd följande kommando:

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

useradd alternativen har följande betydelser:

  • -M skapa inte användarens hemkatalog. Vi skapar manuellt den här katalogen. -d /samba/josh - ställ användarens hemkatalog till /samba/josh . -s /usr/sbin/nologin - inaktivera -s /usr/sbin/nologin för den här användaren. -G sambashare - lägg till användaren i sambashare gruppen.

Skapa användarens hemkatalog och ställ josh till användarjosh och grupp sambashare :

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

Följande kommando lägger till setgid-biten i /samba/josh katalogen så att de nyligen skapade filerna i den här katalogen ärver gruppen för överordnad katalog. Det här sättet, oavsett vilken användare som skapar en ny fil, kommer filen att ha sambashare av sambashare . Om du till exempel inte ställer in katalogens behörigheter till 2770 och sadmin skapar en ny fil kommer användaren josh inte att kunna läsa / skriva till den här filen.

sudo chmod 2770 /samba/josh

Lägg till josh användarkontot i Samba-databasen genom att ställa in användarlösenordet:

sudo smbpasswd -a josh

Du blir ombedd att ange och bekräfta användarlösenordet.

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

När lösenordet är inställt för att aktivera Samba-kontokörningen:

sudo smbpasswd -e josh

Enabled user josh.

För att skapa en annan användare, upprepa samma process som när du skapar användarjosh.

Låt oss nu skapa en användare och grupp sadmin . Alla medlemmar i denna grupp har administrativa behörigheter. Senare om du vill bevilja administrativa behörigheter till en annan användare lägger du bara till den användaren i sadmin .

Skapa den administrativa användaren genom att skriva:

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

Kommandot ovan kommer också att skapa en grupp sadmin och lägga till användaren till både sadmin och sambashare grupper.

Ställ in ett lösenord och aktivera användaren:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Skapa sedan katalogen Users dela:

sudo mkdir /samba/users

Ställ in sadmin till användarsadmin och grupp sambashare :

sudo chown sadmin:sambashare /samba/users

Den här katalogen är tillgänglig för alla autentiserade användare. Följande chmod kommando ger skriv / läsåtkomst till medlemmar i sambashare gruppen i /samba/users katalogen:

sudo chmod 2770 /samba/users

Konfigurera Samba-aktier

Öppna Samba-konfigurationsfilen och bifoga avsnitten:

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

Alternativen har följande betydelser:

  • och - Namnen på aktierna som du kommer att använda när du loggar in. path - Sökvägen till delningen. browseable - Huruvida aktien ska listas i listan över tillgängliga aktier. Genom att sätta till no andra användare kommer inte att kunna se delningen. read only - oavsett om de användare som anges i den valid users kan skriva till denna delning. force create mode - Ställer in behörigheterna för de nyligen skapade filerna i denna delning. force directory mode - Ställer in behörigheter för de nyligen skapade katalogerna i denna delning. valid users - En lista över användare och grupper som har åtkomst till delningen. Grupper är förinställda med symbolen @ .

Mer information om tillgängliga alternativ finns på dokumentationssidan för Samba-konfigurationsfilen.

När du är klar, starta om Samba-tjänsterna med:

sudo systemctl restart smbd sudo systemctl restart nmbd

I följande avsnitt visar vi dig hur du ansluter till en Samba-delning från Linux-, macOS- och Windows-klienter.

Ansluter till en Samba Share från Linux

Linux-användare kan komma åt samba-delen från kommandoraden med filhanteraren eller montera Samba-aktien.

Använda smbclient-klienten

smbclient är ett verktyg som låter dig komma åt Samba från kommandoraden. smbclient paketet är inte förinstallerat på de flesta Linuxdistros, så du måste installera det med din distributionspaketchef.

För att installera smbclient på Ubuntu och Debian kör:

sudo apt install smbclient

smbclient installerar du smbclient på CentOS och Fedora run:

sudo yum install samba-client

Syntaxen för åtkomst till en Samba-aktie är följande:

mbclient //samba_hostname_or_server_ip/share_name -U username

Till exempel för att ansluta till en josh heter josh på en Samba-server med IP-adressen 192.168.121.118 som användarjosh josh du köra:

smbclient //192.168.121.118/josh -U josh

Du blir ombedd att ange användarlösenordet.

Enter WORKGROUP\josh's password:

När du anger lösenordet kommer du att loggas in i Samba kommandoradsgränssnitt.

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

Montering av Samba-aktien

För att installera en Samba-aktie på Linux först måste du installera cifs-utils paketet.

På Ubuntu och Debian kör:

sudo apt install cifs-utils

På CentOS och Fedora kör:

sudo yum install cifs-utils

Skapa sedan en monteringspunkt:

sudo mkdir /mnt/smbmount

Montera delningen med följande kommando:

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

Till exempel för att montera en josh heter josh på en Samba-server med IP-adressen 192.168.121.118 som användarjosh till /mnt/smbmount monteringspunkten du skulle köra:

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

Du blir ombedd att ange användarlösenordet.

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

Använda GUI

Files, standardfilhanteraren i Gnome har ett inbyggt alternativ för åtkomst till Samba-aktier.

  1. Öppna filer och klicka på "Andra platser" i sidofältet. I "Anslut till server", ange adressen för Samba-aktien i följande format smb://samba_hostname_or_server_ip/sharename Klicka på "Connect" och följande skärm kommer att visas:

Slutsats

I denna handledning har du lärt dig hur du installerar Samba-servern på Ubuntu 18.04 och skapar olika typer av delade och användare. Vi har också visat dig hur du ansluter till Samba-servern från Linux-, macOS- och Windows-enheter.

samba ubuntu