Samba server · 7 min read · Dec 08, 2025

Come installare il server Samba su CentOS 8

Samba è un software gratuito e open-source che può essere utilizzato per condividere file, cartelle e stampanti tra sistemi Linux e Windows. Viene utilizzato anche per l’autenticazione e l’autorizzazione, la risoluzione dei nomi e l’annuncio dei servizi. Può essere eseguito su diversi sistemi operativi, tra cui Linux, Unix, OpenVMS e molti altri.

In questo tutorial, impareremo come installare Samba e configurarlo come server di condivisione autonomo su CentOS 8.

Requisiti

  • Un server che esegue CentOS 8.
  • Una password di root configurata sul tuo server.

Installare il server Samba

Per impostazione predefinita, il pacchetto Samba è disponibile nel repository predefinito di CentOS. Puoi installarlo con il seguente comando:

dnf install samba samba-common samba-client -y

Dopo aver installato Samba, avvia il servizio SMB e abilitalo per l’avvio dopo il riavvio del sistema con il seguente comando:

systemctl start smb  
systemctl enable smb

Ora puoi verificare il servizio Samba con il seguente comando:

systemctl status smb

Dovresti ottenere il seguente output:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Creare una condivisione pubblica con Samba

In questa sezione, creeremo una condivisione pubblica con Samba in modo che tutti possano accedere alla directory di condivisione pubblica senza una password.

Creare una directory di condivisione pubblica

Per prima cosa, crea una cartella condivisa chiamata public e crea anche due file all’interno della directory pubblica:

mkdir -p /samba/share/public  
touch /samba/share/public/file1.txt  
touch /samba/share/public/file2.txt

Successivamente, assegna i permessi e la proprietà necessari con il seguente comando:

chmod -R 0755 /samba/share/  
chmod -R 0755 /samba/share/public  
chown -R nobody:nobody /samba/share  
chown -R nobody:nobody /samba/share/public

Configurare Samba

Successivamente, dovrai configurare Samba per condividere una directory pubblica.

Per prima cosa, crea una copia di backup del file /etc/samba/smb.conf con il seguente comando:

mv /etc/samba/smb.conf /etc/samba/smb.bak

Successivamente, crea un nuovo file di configurazione Samba:

nano /etc/samba/smb.conf

Aggiungi le seguenti righe:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no

Salva e chiudi il file. Quindi, riavvia il servizio Samba per applicare le modifiche:

systemctl restart smb

Successivamente, testa la configurazione di Samba con il seguente comando:

testparm

Dovresti vedere il seguente output:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No

Configurare SELinux e Firewall

Successivamente, imposta i valori booleani e di contesto di sicurezza SELinux appropriati sulla directory di condivisione con il seguente comando:

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1  
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"  
restorecon /samba/share/public

Successivamente, consenti a tutti i servizi Samba attraverso firewalld con il seguente comando:

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

Accedere alla condivisione Samba da Ubuntu Gnome

Per accedere alla condivisione Samba, vai sulla macchina remota, apri il file manager Gnome e fai clic su Connetti al server come mostrato di seguito:

Accedi a SAMBA da Gnome

Fornisci l’indirizzo IP del tuo server Samba e fai clic sul pulsante Connetti. Dopo una connessione riuscita, dovresti vedere la condivisione Samba nella seguente schermata:

Condivisione Samba nell'esplora file

Ora, fai clic sulla directory Pubblica, dovresti vedere i tuoi file nella seguente schermata:

Elenco file

Accedere alla condivisione Samba dalla riga di comando di Ubuntu

Puoi anche accedere alla condivisione Samba dalla riga di comando.

Per prima cosa, elenca tutte le condivisioni Samba disponibili con il seguente comando:

smbclient -L //45.58.38.51

Dovresti vedere il seguente output:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

Puoi anche montare la condivisione Samba utilizzando il protocollo cifs. Per farlo, installa il pacchetto cifs-utils con il seguente comando:

apt-get install cifs-utils -y

Successivamente, monta la condivisione Samba nella directory /mnt con il seguente comando:

mount -t cifs //45.58.38.51/public /mnt/

Ti verrà chiesto di fornire una password come mostrato di seguito:

Password for root@//45.58.38.51/public: 

Premi semplicemente Invio senza inserire alcuna password per montare la condivisione Samba: Puoi ora accedere alla condivisione Samba nella directory /mnt:

ls /mnt/

Dovresti vedere il seguente output:

file1.txt  file2.txt

Creare una condivisione privata con Samba

In questa sezione creeremo una condivisione privata con Samba in modo che solo gli utenti autenticati possano accedere alla directory di condivisione privata.

Creare utente e gruppo

Per prima cosa, crea un gruppo chiamato private con il seguente comando:

groupadd private

Successivamente, crea un nuovo utente chiamato privateuser e aggiungilo al gruppo private:

useradd -g private privateuser

Successivamente, imposta la password per l’utente con il seguente comando:

smbpasswd -a privateuser

Output:

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

Creare una directory di condivisione privata

Successivamente, crea una cartella condivisa chiamata private e crea anche due file all’interno della directory privata:

mkdir -p /samba/share/private  
touch /samba/share/private/private1.txt  
touch /samba/share/private/private2.txt

Successivamente, assegna i permessi e la proprietà appropriati con il seguente comando:

chmod -R 0770 /samba/share/private  
chown -R root:private /samba/share/private

Successivamente, configura il contesto SELinux per la directory privata con il seguente comando:

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"  
restorecon /samba/share/private

Configurare Samba

Successivamente, apri il file di configurazione Samba e definisci la condivisione privata:

nano /etc/samba/smb.conf

Aggiungi le seguenti righe alla fine del file:

[Private]
path = /samba/share/private
valid users = @private     
guest ok = no
writable = yes
browsable = yes

Salva e chiudi il file, quindi riavvia il servizio Samba per applicare le modifiche:

systemctl restart smb

Successivamente, controlla la configurazione di Samba con il seguente comando:

testparm

Dovresti vedere il seguente output:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No


[Private]
    path = /samba/share/private
    read only = No
    valid users = @private

Accedere alla condivisione Samba dalla riga di comando di Ubuntu

Per prima cosa, accedi alla condivisione disponibile con il seguente comando:

smbclient -L //45.58.38.51

Dovresti vedere il seguente output:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    Private         Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

Successivamente, connettiti al server Samba e elenca la condivisione disponibile con il seguente comando:

smbclient //45.58.38.51/private -U privateuser

Ti verrà chiesto di fornire una password come mostrato di seguito:

Enter privateuser's password: 

Digita la tua password e premi Invio per accedere alla shell Samba come mostrato di seguito:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

Ora, elenca la condivisione disponibile con il seguente comando:

smb: \> ls

Dovresti vedere il seguente output:

  
.                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

        51194 blocks of size 2097152. 49358 blocks available

Ora, esci dalla shell Samba con il seguente comando:

smb: \>exit

Puoi anche montare la condivisione Samba nella directory /opt:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

Ti verrà chiesto di fornire una password come mostrato di seguito:

Password for privateuser@//45.58.38.51/private:  *********

Fornisci la tua password e premi Invio per montare la condivisione Samba.

Puoi ora controllare la tua condivisione Samba nella directory /opt come mostrato di seguito:

ls /opt/

Output:

private1.txt  private2.txt

Accedere alla condivisione Samba da Ubuntu Gnome

Per accedere alla condivisione Samba, vai sulla macchina remota, apri il file manager Gnome e fai clic su Connetti al server come mostrato di seguito:

Accedi alla condivisione privata in Gnome

Fornisci l’indirizzo IP del tuo server Samba e fai clic sul pulsante Connetti. Dopo una connessione riuscita, dovresti vedere la condivisione Samba nella seguente schermata:

Condivisione pubblica e privata

Ora, fai clic sulla directory Privata, fornisci il tuo nome utente e la tua password, quindi fai clic sul pulsante Connetti. Dovresti vedere i tuoi file nella seguente schermata:

Accesso con nome utente e password

File

Congratulazioni! Hai installato e configurato con successo il server Samba su CentOS 8.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.