Com configurar el servidor Samba a RHEL, Rocky Linux i AlmaLinux


Compartir fitxers és una part essencial de l'administració del servidor. Permet compartir recursos a través de la xarxa que els usuaris necessiten per dur a terme les seves tasques. Un dels programaris per compartir fitxers àmpliament utilitzats és Samba.

Samba, una reimplementació del popular protocol SMB (server message block), és una aplicació estable i gratuïta que permet compartir fitxers i serveis d'impressió a través d'una xarxa. El programari s'instal·la en un servidor Linux central des del qual es pot accedir als fitxers compartits tant des dels sistemes Linux com Windows.

En aquesta guia, us guiarem per la instal·lació del servidor Samba en distribucions basades en RHEL com CentOS Stream, Rocky Linux i AlmaLinux.

Pas 1: instal·leu Samba a Linux

Per començar amb Samba, instal·leu els paquets bàsics de Samba, inclòs el paquet client:

$ sudo dnf install samba samba-common samba-client 

L'ordre instal·la els paquets especificats juntament amb les dependències tal com es mostra a la sortida. Un cop finalitzada la instal·lació, obtindreu un resum de tots els paquets que s'han instal·lat.

Pas 2: creeu i configureu els recursos compartits de Samba

Un cop instal·lats tots els paquets de samba, el següent pas és configurar els recursos compartits de samba. Una compartició de samba és simplement un directori que es compartirà entre els sistemes client de la xarxa.

Aquí, crearem una compartició de samba anomenada /data a la ruta del directori /srv/tecmint/.

$ sudo mkdir -p /srv/tecmint/data

A continuació, assignarem permisos i propietats de la següent manera.

$ sudo chmod -R 755 /srv/tecmint/data
$ sudo chown -R  nobody:nobody /srv/tecmint/data
$ sudo chcon -t samba_share_t /srv/tecmint/data

A continuació, farem algunes configuracions al fitxer de configuració smb.conf, que és el fitxer de configuració principal de Samba. Però abans de fer-ho, farem una còpia de seguretat del fitxer canviant el nom amb una extensió de fitxer diferent.

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

A continuació, crearem un nou fitxer de configuració.

$ sudo vim /etc/samba/smb.conf

Definirem polítiques sobre qui pot accedir a la compartició de samba afegint les línies que es mostren al fitxer de configuració.

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



[Public]
path =  /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no

Deseu i sortiu del fitxer de configuració.

Per verificar les configuracions realitzades, executeu l'ordre:

$ sudo testparm

A continuació, inicieu i activeu els dimonis Samba tal com es mostra.

$ sudo systemctl start smb
$ sudo systemctl enable smb
$ sudo systemctl start nmb
$ sudo systemctl enable nmb

Assegureu-vos de confirmar que els dimonis smb i nmb s'estan executant.

$ sudo systemctl status smb
$ sudo systemctl status nmb

Pas 3: Accés a Samba Share des de Windows

Fins ara, hem instal·lat samba i hem configurat la nostra compartició de samba. Ara estem preparats per accedir-hi de manera remota. Per fer-ho en un client de Windows, premeu la tecla + R del logotip de Windows per iniciar el diàleg Executar.

Al camp de text proporcionat, introduïu l'adreça IP del servidor samba tal com es mostra:

\\server-ip

Apareixerà la finestra següent anomenada Públic. Recordeu que aquest és el directori que apunta a la nostra part de samba al directori /srv/tecmint/data.

Actualment, el nostre directori està buit perquè no hem creat cap fitxer. Per tant, tornarem al nostre terminal i crearem uns quants fitxers al directori compartit de samba.

$ cd /srv/tecmint/data
$ sudo touch file{1..3}.txt

Ara, navegarem a la carpeta Pública on es mostraran els fitxers que hem creat anteriorment.

Perfecte. Hem aconseguit accedir amb èxit a la nostra part de samba. Tanmateix, el nostre directori és accessible per a tothom i tothom pot editar i suprimir fitxers a voluntat, cosa que no es recomana especialment si teniu previst allotjar fitxers sensibles.

En el següent pas, demostrarem com podeu crear i configurar un directori compartit de samba segur.

Pas 4: Assegureu el directori compartit de Samba

Primer, crearem un nou usuari de samba.

$ sudo useradd smbuser

A continuació, configurarem una contrasenya per a l'usuari de samba. Aquesta és la contrasenya que s'utilitzarà durant l'autenticació.

$ sudo smbpasswd -a smbuser

A continuació, crearem un grup nou per a la nostra compartició segura de samba i afegirem el nou usuari de samba.

$ sudo groupadd smb_group
$ sudo usermod -g smb_group smbuser

A continuació, creeu una altra part compartida de samba a la qual s'accedirà de manera segura. En el nostre cas, hem creat un altre directori al mateix camí que el

$ sudo mkdir -p  /srv/tecmint/private

A continuació, configureu els permisos del fitxer per a la compartició de samba

$ sudo chmod -R 770 /srv/tecmint/private
$ sudo chcon -t samba_share_t /srv/tecmint/private
$ sudo chown -R root:smb_group /srv/tecmint/private

Una vegada més, accediu al fitxer de configuració de Samba.

$ sudo vim /etc/samba/smb.conf

Afegiu aquestes línies per definir per assegurar la compartició de samba.

[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes

Deseu els canvis i sortiu.

Finalment, reinicieu tots els dimonis de samba tal com es mostra.

$ sudo systemctl restart smb
$ sudo systemctl restart nmb

Quan accediu al vostre servidor aquesta vegada, notareu una carpeta Privada addicional. Per accedir a la carpeta, se us demanarà que us autentiqueu amb les credencials de l'usuari de Samba. Proporcioneu el nom d'usuari i la contrasenya de l'usuari que vau crear al pas anterior i feu clic a D'acord.

Pas 5: Accés a Samba Share des del client Linux

Per accedir a la compartició des d'un client Linux, primer, assegureu-vos que el paquet de client Samba estigui instal·lat.

$ sudo dnf install samba-client 

A continuació, utilitzeu l'ordre smbclient de la següent manera

# smbclient ‘\2.168.43.121\private’ -U smbuser

I això conclou aquesta guia sobre la configuració de Samba a RHEL, CentOS Stream, Rocky Linux i AlmaLinux. Els vostres comentaris sobre aquesta guia seran molt apreciats.