Android

Hoe samba op centos 7 te installeren en configureren

Install and Configure Samba on CentOS 7 ( without Password )

Install and Configure Samba on CentOS 7 ( without Password )

Inhoudsopgave:

Anonim

Samba is een gratis en open-source herimplementatie van het SMB / CIFS-netwerkbestandsprotocol waarmee eindgebruikers toegang hebben tot bestanden, printers en andere gedeelde bronnen.

In deze zelfstudie laten we zien hoe u Samba op CentOS 7 installeert en configureert als een zelfstandige server voor het delen van bestanden tussen verschillende besturingssystemen via een netwerk.

We maken de volgende Samba-shares en -gebruikers.

gebruikers:

  • sadmin - Een administratieve gebruiker met lees- en schrijftoegang tot alle shares. josh - Een gewone gebruiker met een eigen gedeelde bestandsdeling.

Aandelen:

  • gebruikers - Deze share is toegankelijk met lees- / schrijfrechten voor alle gebruikers. josh - Deze share is alleen toegankelijk met lees- / schrijfrechten voor gebruikers josh en sadmin.

De gedeelde bestanden zijn toegankelijk vanaf alle apparaten in uw netwerk. Later in de tutorial zullen we ook gedetailleerde instructies geven over hoe verbinding te maken met de Samba-server vanaf Linux-, Windows- en macOS-clients.

voorwaarden

Controleer voordat u begint of u bent aangemeld bij uw CentOS 7-systeem als een gebruiker met sudo-rechten.

Samba installeren op CentOS

Samba is verkrijgbaar bij de standaard CentOS-opslagplaatsen. Om het op uw CentOS-systeem te installeren, voert u de volgende opdracht uit:

sudo yum install samba samba-client

Nadat de installatie is voltooid, start u de Samba-services en stelt u deze in staat om automatisch te starten bij het opstarten van het systeem:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

De smbd service biedt services voor het delen en afdrukken van bestanden en luistert op TCP-poorten 139 en 445. De nmbd service biedt NetBIOS over IP-naamgevingsservices aan clients en luistert op UDP-poort 137.

Firewall configureren

Nu Samba op uw CentOS-machine is geïnstalleerd en wordt uitgevoerd, moet u uw firewall configureren en de benodigde poorten openen. Voer hiervoor de volgende opdrachten uit:

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

Samba-gebruikers en directorystructuur maken

Voor eenvoudiger onderhoud en flexibiliteit in plaats van het gebruik van de standaard thuismappen ( /home/user ) zullen alle Samba-mappen en -gegevens zich in de /samba map bevinden.

Begin met het maken van de map /samba :

sudo mkdir /samba

Maak een nieuwe groep met de naam sambashare . Later zullen we alle Samba-gebruikers aan deze groep toevoegen.

sudo groupadd sambashare

Stel het /samba directory- sambashare op sambashare :

sudo chgrp sambashare /samba

Samba maakt gebruik van Linux-gebruikers en groepstoestemmingen, maar het heeft zijn eigen authenticatiemechanisme los van de standaard Linux-authenticatie. We zullen de gebruikers maken met behulp van de standaard Linux useradd tool en vervolgens het gebruikerswachtwoord instellen met het hulpprogramma smbpasswd .

Zoals we in de inleiding al hebben gezegd, maken we een gewone gebruiker die toegang heeft tot de privé-bestandsdeling en één beheerdersaccount met lees- en schrijftoegang tot alle shares op de Samba-server.

Samba-gebruikers maken

Gebruik de volgende opdracht om een ​​nieuwe gebruiker met de naam josh maken:

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

De useradd opties hebben de volgende betekenissen:

  • -M maak geen thuismap van de gebruiker aan. We zullen deze map handmatig maken. -d /samba/josh - stel de thuismap van de gebruiker in op /samba/josh . -s /usr/sbin/nologin - schakel shell-toegang voor deze gebruiker uit. -G sambashare - voeg de gebruiker toe aan de sambashare groep.

Maak de thuismap van de gebruiker en stel het sambashare op gebruiker josh en groep sambashare :

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

De volgende opdracht voegt de setgid-bit toe aan de map /samba/josh zodat de nieuw aangemaakte bestanden in deze map de groep van de bovenliggende map zullen overnemen. Op deze manier heeft het bestand, ongeacht welke gebruiker een nieuw bestand maakt, de sambashare van sambashare . Als u bijvoorbeeld de sadmin op 2770 en de sadmin gebruiker een nieuw bestand maakt, kan de gebruiker josh dit bestand niet lezen / schrijven.

sudo chmod 2770 /samba/josh

Voeg het josh gebruikersaccount toe aan de Samba-database door het gebruikerswachtwoord in te stellen:

sudo smbpasswd -a josh

U wordt gevraagd het gebruikerswachtwoord in te voeren en te bevestigen.

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

Nadat het wachtwoord is ingesteld, schakelt u het Samba-account in door te typen:

sudo smbpasswd -e josh

Enabled user josh.

Om een ​​andere gebruiker te maken, herhaalt u hetzelfde proces als bij het maken van de gebruiker josh .

Laten we vervolgens een sadmin gebruikers en groepen sadmin . Alle leden van deze groep hebben beheerdersrechten. Als u later beheerdersmachtigingen wilt verlenen aan een andere gebruiker, voegt u die gebruiker eenvoudig toe aan de sadmin groep.

Maak de beheerder aan door te typen:

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

De bovenstaande opdracht maakt ook een groep sadmin en voegt de gebruiker toe aan zowel sadmin als sambashare groepen.

Stel een wachtwoord in en schakel de gebruiker in:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Maak vervolgens de map Users delen:

sudo mkdir /samba/users

Stel het sadmin op gebruiker sadmin en groep sambashare :

sudo chown sadmin:sambashare /samba/users

Deze map is toegankelijk voor alle geverifieerde gebruikers. De volgende opdracht configureert schrijf- / leestoegang tot leden van de sambashare groep in de map /samba/users :

sudo chmod 2770 /samba/users

Samba-aandelen configureren

Open het Samba-configuratiebestand en voeg de secties toe:

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

De opties hebben de volgende betekenissen:

  • en - De namen van de shares die u zult gebruiken bij het inloggen. path - Het pad naar de share. browseable - of het aandeel moet worden vermeld in de lijst met beschikbare aandelen. Als u dit instelt op, kunnen andere gebruikers de share niet zien. read only - of de gebruikers die zijn opgegeven in de valid users naar deze share kunnen schrijven. force create mode - Stelt de machtigingen in voor de nieuw gemaakte bestanden in deze share. force directory mode - Stelt de machtigingen in voor de nieuw gemaakte mappen in deze share. valid users - een lijst met gebruikers en groepen die toegang hebben tot de share. Groepen worden voorafgegaan door het @ symbool.

Zie de documentatiepagina van het Samba-configuratiebestand voor meer informatie over de beschikbare opties.

Zodra u klaar bent, start u de Samba-services opnieuw met:

sudo systemctl restart smb.service sudo systemctl restart nmb.service

In de volgende secties laten we u zien hoe u verbinding kunt maken met een Samba-share van Linux-, macOS- en Windows-clients.

Verbinding maken met een Samba Share vanuit Linux

Linux-gebruikers hebben toegang tot de samba-share vanaf de opdrachtregel, met behulp van Bestandsbeheer of mount de Samba-share.

De smbclient-client gebruiken

smbclient is een hulpmiddel waarmee u toegang hebt tot Samba vanaf de opdrachtregel. Het smbclient pakket is niet vooraf geïnstalleerd op de meeste Linux-distributies, dus u moet het installeren met uw distributiepakketmanager.

Om smbclient te installeren op Ubuntu en Debian uitvoeren:

sudo apt install smbclient

Om smbclient op CentOS en Fedora te installeren, voer je het volgende uit:

sudo yum install samba-client

De syntaxis voor toegang tot een Samba-share is als volgt:

mbclient //samba_hostname_or_server_ip/share_name -U username

Als u bijvoorbeeld als gebruiker josh verbinding wilt maken met een share met de naam josh op een Samba-server met IP-adres 192.168.121.118 :

smbclient //192.168.121.118/josh -U josh

U wordt gevraagd het gebruikerswachtwoord in te voeren.

Enter WORKGROUP\josh's password:

Nadat u het wachtwoord hebt ingevoerd, wordt u aangemeld bij de Samba-opdrachtregelinterface.

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

Het delen van het Samba-aandeel

Om een ​​Samba-share op Linux te mounten, moet u het cifs-utils pakket installeren.

Op Ubuntu en Debian uitvoeren:

sudo apt install cifs-utils

Op CentOS en Fedora draaien:

sudo yum install cifs-utils

Maak vervolgens een koppelpunt:

sudo mkdir /mnt/smbmount

Mount de share met de volgende opdracht:

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

Om bijvoorbeeld een share met de naam josh te mounten op een Samba-server met IP-adres 192.168.121.118 als gebruiker josh op het /mnt/smbmount mount-punt dat u zou uitvoeren:

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

U wordt gevraagd het gebruikerswachtwoord in te voeren.

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

GUI gebruiken

Bestanden, de standaardbestandsbeheerder in Gnome heeft een ingebouwde optie voor toegang tot Samba-aandelen.

  1. Open Bestanden en klik op "Andere locaties" in de zijbalk. Voer bij "Verbinden met server" het adres van de Samba-share in het volgende formaat in smb://samba_hostname_or_server_ip/sharename Klik op "Verbinden" en het volgende scherm verschijnt:

Conclusie

In deze zelfstudie hebt u geleerd hoe u een Samba-server op CentOS 7 installeert en verschillende soorten gedeelde en gebruikers maakt. We hebben ook laten zien hoe u verbinding kunt maken met de Samba-server vanaf Linux-, macOS- en Windows-apparaten.

samba centos