androide

Come installare e configurare samba su centos 7

Condividere file e cartelle su UBUNTU con SAMBA || Setting tramite GUI

Condividere file e cartelle su UBUNTU con SAMBA || Setting tramite GUI

Sommario:

Anonim

Samba è una reimplementazione gratuita e open source del protocollo di condivisione dei file di rete SMB / CIFS che consente agli utenti finali di accedere a file, stampanti e altre risorse condivise.

In questo tutorial, mostreremo come installare Samba su CentOS 7 e configurarlo come server autonomo per fornire la condivisione di file tra diversi sistemi operativi su una rete.

Creeremo le seguenti condivisioni e utenti Samba.

utenti:

  • sadmin - Un utente amministrativo con accesso in lettura e scrittura a tutte le condivisioni. josh - Un utente normale con la propria condivisione di file privata.

azioni:

  • utenti: questa condivisione sarà accessibile con le autorizzazioni di lettura / scrittura di tutti gli utenti. josh - Questa condivisione sarà accessibile con le autorizzazioni di lettura / scrittura solo dagli utenti josh e sadmin.

Le condivisioni di file saranno accessibili da tutti i dispositivi della rete. Più avanti nel tutorial, forniremo anche istruzioni dettagliate su come connettersi al server Samba da client Linux, Windows e macOS.

Prerequisiti

Prima di iniziare, assicurarsi di aver effettuato l'accesso al sistema CentOS 7 come utente con privilegi sudo.

Installazione di Samba su CentOS

Samba è disponibile dai repository CentOS standard. Per installarlo sul tuo sistema CentOS, esegui il seguente comando:

sudo yum install samba samba-client

Una volta completata l'installazione, avvia i servizi Samba e abilita l'avvio automatico all'avvio del sistema:

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

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

Il servizio smbd fornisce servizi di condivisione e stampa dei file e ascolta sulle porte TCP 139 e 445. Il servizio nmbd fornisce servizi di denominazione NetBIOS su IP ai client e ascolta sulla porta UDP 137.

Configurazione del firewall

Ora che Samba è installato e in esecuzione sul tuo computer CentOS, dovrai configurare il tuo firewall e aprire le porte necessarie. Per fare ciò, esegui i seguenti comandi:

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

Creazione di utenti Samba e struttura delle directory

Per una più facile manutenibilità e flessibilità invece di usare le directory home standard ( /home/user ) tutte le directory e i dati di Samba saranno posizionati nella directory /samba .

Inizia creando la directory /samba :

sudo mkdir /samba

Crea un nuovo gruppo chiamato sambashare . Successivamente aggiungeremo tutti gli utenti Samba a questo gruppo.

sudo groupadd sambashare

Impostare la proprietà del gruppo di directory /samba su sambashare :

sudo chgrp sambashare /samba

Samba utilizza utenti Linux e sistema di permessi di gruppo ma ha un proprio meccanismo di autenticazione separato dall'autenticazione Linux standard. Creeremo gli utenti utilizzando lo strumento standard useradd Linux e quindi imposteremo la password dell'utente con l'utilità smbpasswd .

Come accennato nell'introduzione, creeremo un utente normale che avrà accesso alla sua condivisione di file privata e un account amministrativo con accesso in lettura e scrittura a tutte le condivisioni sul server Samba.

Creazione di utenti Samba

Per creare un nuovo utente chiamato josh , utilizzare il comando seguente:

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

Le opzioni useradd hanno i seguenti significati:

  • -M -non creare la home directory dell'utente. Creeremo manualmente questa directory. -d /samba/josh - imposta la home directory dell'utente su /samba/josh . -s /usr/sbin/nologin - disabilita l'accesso alla shell per questo utente. -G sambashare - aggiunge l'utente al gruppo sambashare .

Crea la home directory dell'utente e imposta la proprietà della directory su user josh e group sambashare :

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

Il comando seguente aggiungerà il bit setgid alla directory /samba/josh modo che i file appena creati in questa directory ereditino il gruppo della directory padre. In questo modo, indipendentemente dall'utente che crea un nuovo file, il file avrà il proprietario del gruppo di sambashare . Ad esempio, se non si impostano le autorizzazioni della directory su 2770 e l'utente sadmin crea un nuovo file, l'utente josh non sarà in grado di leggere / scrivere in questo file.

sudo chmod 2770 /samba/josh

Aggiungi l'account utente josh al database Samba impostando la password utente:

sudo smbpasswd -a josh

Ti verrà richiesto di inserire e confermare la password dell'utente.

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

Una volta impostata la password, abilita l'account Samba digitando:

sudo smbpasswd -e josh

Enabled user josh.

Per creare un altro utente, ripetere la stessa procedura utilizzata per la creazione dell'utente josh .

Quindi, creiamo un sadmin utente e di gruppo. Tutti i membri di questo gruppo avranno autorizzazioni amministrative. Successivamente, se si desidera concedere autorizzazioni amministrative a un altro utente, è sufficiente aggiungere tale utente al gruppo sadmin .

Crea l'utente amministrativo digitando:

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

Il comando sopra creerà anche un gruppo sadmin e aggiungerà l'utente a entrambi i gruppi sadmin e sadmin .

Imposta una password e abilita l'utente:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Quindi, crea la directory di condivisione Users :

sudo mkdir /samba/users

Impostare la proprietà della directory sull'utente sadmin e raggruppare sadmin :

sudo chown sadmin:sambashare /samba/users

Questa directory sarà accessibile a tutti gli utenti autenticati. Il seguente comando configura l'accesso in scrittura / lettura ai membri del gruppo sambashare nella directory /samba/users :

sudo chmod 2770 /samba/users

Configurazione delle condivisioni Samba

Apri il file di configurazione di Samba e aggiungi le sezioni:

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

Le opzioni hanno i seguenti significati:

  • e - I nomi delle condivisioni che verranno utilizzate durante l'accesso. path - Il percorso della condivisione. browseable : browseable se la condivisione deve essere elencata nell'elenco delle condivisioni disponibili. Impostando su no altro utente non sarà possibile vedere la condivisione. read only : indica se gli utenti specificati nell'elenco degli valid users sono in grado di scrivere su questa condivisione. force create mode : imposta le autorizzazioni per i file appena creati in questa condivisione. force directory mode - Imposta le autorizzazioni per le directory appena create in questa condivisione. valid users : un elenco di utenti e gruppi a cui è consentito accedere alla condivisione. I gruppi sono preceduti dal simbolo @ .

Per ulteriori informazioni sulle opzioni disponibili, consultare la pagina della documentazione del file di configurazione di Samba.

Una volta fatto, riavvia i servizi Samba con:

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

Nelle sezioni seguenti, ti mostreremo come connettersi a una condivisione Samba da client Linux, macOS e Windows.

Connessione a una condivisione Samba da Linux

Gli utenti Linux possono accedere alla condivisione samba dalla riga di comando, utilizzando il file manager o montare la condivisione Samba.

Utilizzo del client smbclient

smbclient è uno strumento che ti consente di accedere a Samba dalla riga di comando. Il pacchetto smbclient non è preinstallato sulla maggior parte delle distribuzioni Linux, quindi sarà necessario installarlo con il gestore dei pacchetti di distribuzione.

Per installare smbclient su Ubuntu e Debian eseguire:

sudo apt install smbclient

Per installare smbclient su CentOS e Fedora eseguire:

sudo yum install samba-client

La sintassi per accedere a una condivisione Samba è la seguente:

mbclient //samba_hostname_or_server_ip/share_name -U username

Ad esempio, per connettersi a una condivisione denominata josh su un server Samba con indirizzo IP 192.168.121.118 come josh utente, eseguire:

smbclient //192.168.121.118/josh -U josh

Ti verrà richiesto di inserire la password dell'utente.

Enter WORKGROUP\josh's password:

Dopo aver inserito la password, si accederà all'interfaccia della riga di comando di Samba.

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

Montare la condivisione Samba

Per montare prima una condivisione Samba su Linux è necessario installare il pacchetto cifs-utils .

Su Ubuntu e Debian eseguire:

sudo apt install cifs-utils

Su CentOS e Fedora eseguire:

sudo yum install cifs-utils

Quindi, crea un punto di montaggio:

sudo mkdir /mnt/smbmount

Montare la condivisione utilizzando il seguente comando:

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

Ad esempio, per montare una condivisione denominata josh su un server Samba con indirizzo IP 192.168.121.118 come utente josh sul punto di montaggio /mnt/smbmount che avresti eseguito:

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

Ti verrà richiesto di inserire la password dell'utente.

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

Utilizzando la GUI

File, il gestore file predefinito in Gnome ha un'opzione integrata per accedere alle condivisioni Samba.

  1. Apri File e fai clic su "Altre posizioni" nella smb://samba_hostname_or_server_ip/sharename . In "Connetti al server", inserisci l'indirizzo della condivisione Samba nel seguente formato smb://samba_hostname_or_server_ip/sharename . smb://samba_hostname_or_server_ip/sharename "Connetti" e apparirà la seguente schermata:

Conclusione

In questo tutorial, hai imparato come installare un server Samba su CentOS 7 e come creare diversi tipi di utenti e condivisi. Ti abbiamo anche mostrato come connetterti al server Samba da dispositivi Linux, macOS e Windows.

samba centos