Ricerca nel sito web

Come installare Samba4 su CentOS 7 per la condivisione di file su Windows


Nel nostro ultimo articolo, abbiamo mostrato come installare Samba4 su Ubuntu per la condivisione di file di base tra sistemi Ubuntu e macchine Windows. Dove abbiamo esaminato la configurazione della condivisione di file anonima (non sicura) e sicura.

Qui descriveremo come installare e configurare Samba4 su CentOS 7 (funziona anche su RHEL 7) per la condivisione di file di base tra altri sistemi Linux e macchine Windows.

Importante: a partire dalla versione 4.0, Samba può essere eseguito come controller di dominio (DC) Active Directory (AD). Ti consigliamo di leggere la nostra serie speciale sulla configurazione del controller di dominio Active Directory Samba4, che include argomenti critici per Ubuntu, CentOS e Windows.

Installa Samba4 su CentOS 7

1. Per prima cosa installa Samba4 e i pacchetti richiesti dai repository CentOS predefiniti utilizzando lo strumento di gestione pacchetti yum come mostrato.

yum install samba samba-client samba-common

2. Dopo aver installato i pacchetti samba, abilita i servizi samba a essere consentiti attraverso il firewall di sistema con questi comandi.

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

Controlla le impostazioni del gruppo di lavoro della macchina Windows

3. Prima di procedere con la configurazione di samba, assicurati che il computer Windows si trovi nello stesso gruppo di lavoro da configurare sul server CentOS.

Esistono due modi possibili per visualizzare le impostazioni del gruppo di lavoro del computer Windows:

  • Fare clic con il tasto destro su "Questo PC " o "Risorse del computer" → ProprietàImpostazioni di sistema avanzate Nome del computer.

  • In alternativa, apri il prompt cmd ed esegui il comando seguente, quindi cerca "dominio workstation" nell'output come mostrato di seguito.
>net config workstation

Configurazione di Samba4 su CentOS 7

4. Il file di configurazione principale di samba è /etc/samba/smb.conf, il file originale viene fornito con impostazioni di preconfigurazione che spiegano varie direttive di configurazione per guidarti.

Ma, prima di configurare samba, ti suggerisco di fare un backup del file predefinito come questo.

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Quindi, procedi con la configurazione di samba per i servizi anonimi e di condivisione file sicura come spiegato di seguito.

Samba4 Condivisione file anonima

5. Innanzitutto crea la directory condivisa in cui verranno archiviati i file sul server e imposta le autorizzazioni appropriate sulla directory.

mkdir -p /srv/samba/anonymous
chmod -R 0775 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

Inoltre, è necessario modificare il contesto di sicurezza SELinux per la directory condivisa samba come segue.

chcon -t samba_share_t /srv/samba/anonymous

6. Successivamente, apri il file di configurazione di samba per la modifica, dove puoi modificare/aggiungere le sezioni seguenti con le direttive corrispondenti.

vi /etc/samba/smb.conf
[global]
	workgroup = WORKGROUP
	netbios name = centos
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

7. Ora verifica le impostazioni attuali di Samba eseguendo il comando seguente.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Infine, avvia e abilita l'avvio automatico dei servizi Samba al prossimo avvio e applica anche le modifiche di cui sopra affinché abbiano effetto.

systemctl enable smb.service
systemctl enable nmb.service
systemctl start smb.service
systemctl start nmb.service

Testare la condivisione anonima di file Samba

9. Ora sul computer Windows, apri "Rete" da una finestra di Esplora risorse, quindi fai clic sull'host CentOS oppure prova a accedere al server utilizzando il suo indirizzo IP (utilizzare il comando ifconfig per ottenere l'indirizzo IP).

e.g. \2.168.43.168.

10. Successivamente, apri la directory Anonima e prova ad aggiungere file da condividere con altri utenti.

Configura la condivisione sicura dei file di Samba4

11. Inizia innanzitutto creando un gruppo del sistema Samba, quindi aggiungi gli utenti al gruppo e imposta una password per ciascun utente in questo modo.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Quindi crea una directory sicura in cui verranno conservati i file condivisi e imposta le autorizzazioni appropriate sulla directory con il contesto di sicurezza SELinux per samba.

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

13. Successivamente aprire il file di configurazione per la modifica e modificare/aggiungere la sezione seguente con le direttive corrispondenti.

vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. Ancora una volta, verifica le impostazioni di configurazione di Samba eseguendo il seguente comando.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Riavvia i servizi Samba per applicare le modifiche.

systemctl restart smb.service
systemctl restart nmb.service

Test della condivisione sicura dei file Samba

16. Vai sul computer Windows, apri "Rete" da una finestra di Esplora risorse, quindi fai clic sull'host CentOS, oppure prova ad accedere il server utilizzando il suo indirizzo IP.

e.g. \2.168.43.168.

Ti verrà chiesto di fornire nome utente e password per accedere al server CentOS. Una volta inserite le credenziali, fai clic su OK.

17. Una volta effettuato l'accesso con successo, vedrai tutte le directory condivise di Samba. Ora condividi in modo sicuro alcuni file con altri utenti autorizzati sulla rete trascinandoli nella directory Secure.

Puoi anche consultare questi utili articoli riguardanti la condivisione di file Samba su una rete.

  1. Come montare/smontare filesystem locali e di rete (Samba e NFS) in Linux
  2. Utilizzo degli ACL (elenchi di controllo degli accessi) e montaggio di condivisioni Samba/NFS
  3. Come risolvere la vulnerabilità SambaCry (CVE-2017-7494) nei sistemi Linux

In questa guida ti abbiamo mostrato come configurare Samba4 per la condivisione di file anonima e sicura tra CentOS e altri sistemi Linux e macchine Windows. Condividi qualsiasi pensiero con noi tramite la sezione commenti qui sotto.