Imagen del Post

Objetivo:

En este artículo vamos a habilitar SELinux en un servidor basado en Rocky y asegurando que los servicios samba y nfs funcionan correctamente con una configuración estricta y segura de SELinux.

Pasos Previos:

Para esta demostración he creado dos máquinas en local de Rocky 9, en la cual una hara de servidor y otra de cliente.

El servidor se llama rocky y el cliente rocky2. Y como detalle final ya en la imagen descargada viene activado Selinux y en enforcing por defecto.

Empezamos!

El primer paso es ir a la máquina servidor e instalar las herramientas necesarias (en la captura ya lo tengo instalado):

dnf install samba samba-common samba-client nfs-utils

Imagen del Post

Arranco el servicio y lo dejo habilitado para reinicios:

systemctl start nfs-server.service
systemctl enable nfs-server.service

Ahora he creado el directorio /mnt/nfs/andres y para indicar que quiero compartirlo, hay que declararlo en el archivo /etc/exports:

/mnt/nfs/andres  172.22.0.0/16(rw,sync,no_all_squash,no_root_squash)

Hecho esto, para aplicar los cambios es con:

sudo exportfs -arv

Imagen del Post

Con sudo exportfs -s se comprueba si ha salido bien:

Imagen del Post

Hecho esto, ahora en el rocky cliente hay que instalar:

dnf install nfs-utils nfs4-acl-tools

Imagen del Post

Ahora para comprobar desde el cliente lo que comparte el servidor es con:

sudo showmount -e 192.168.122.29

Esa ip es la del servidor.

Imagen del Post

Ahora he creado el directorio nfs en /mnt y lo he montado con:

sudo mount -t nfs 192.168.122.99:/mnt/nfs/andres /mnt/nfs

Imagen del Post

Para comprobarlo hice un mount metiendole un grep con 192:

Imagen del Post

Ahora con nfs configurado he ido al servidor y he creado un archivo para comprobar que se comparte:

(servidor)

Imagen del Post

Y en el lado del cliente funciona porque se ve como hago un ls y no hay nada, y luego haciendo otro justo ya aparece el archivo creado en el servidor:

(cliente)

Imagen del Post

Samba

Para esta parte he creado los directorios /mnt/samba/compartir y le he dado permisos:

Imagen del Post

Ahora en el archivo de config /etc/samba/smb.conf añado:

Imagen del Post

Y uso testparm:

Imagen del Post

Y permitirlo en el firewall (en la iso viene ya el firewall-cmd, pero en Openstack no):

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

Imagen del Post

Y reinicio el servicio smb y nmb

Un detalle es que cree el usuario andres con smbpasswd -a andres, pero a la hora de montarlo en el cliente me decia que no se podia porque era solo de lectura, cuando en el archivo de samba le dije que no, revise mil veces los privilegios de los directorios y propietarios y nada asi que decidí hacerlo directamente conectandome desde el cliente al servidor.

El error:

Imagen del Post

Asi que me conecte así:

sudo smbclient //192.168.122.99/Andres

Imagen del Post