jueves, 10 de diciembre de 2020

Servidor de archivos Samba orientado a openSUSE

                            (C) Hugo Napoli, 2018                          
                            (P) Hugo Napoli, 2020                          

Creación de servidor de archivos multi sistema, utilizando openSUSE Linux y Samba (guía paso a paso).

Se utilizará la consola durante todo el tutorial. Es recomendable iniciarla en modo superusuario  (o "root"). También se utilizará el editor de archivos "vi".

Idea básica:

- Instalación de Linux (en este caso, Opensuse) con repositorios nativos únicamente, y con escritorio XFCE para poder mantener un entorno gráfico liviano.
- Creación de cada usuario Windows que vaya a conectarse, con las mismas contraseñas en ambos sistemas.
- Creación de directorio/s a compartir.
- Aplicación de permisos (chmod) a dichos directorios.
- Configuración en Samba de los mismos directorios compartidos.
- Establecimiento de nombre de host.
- Establecimiento de dirección IP de host.
 
 
En primer lugar, deberemos identificarnos como usuario "root":

su [ENTER] (e ingresar la contraseña del usuario root). 

1. Revisar si está instalado Samba:

zypper search samba

1.1. De no estar instalado, instalarlo:

zypper install samba

En lugar de instalar únicamente "Samba", se puede probar a instalar los siguientes paquetes, dependiendo de la distribución Linux de la que se trate:
samba samba-common system-config-samba cifs-utils python-glade2 

2. Crear el directorio necesario para compartir archivos:

mkdir /servidor-admin

2.1. Cambiar los permisos de acceso de dicho directorio, para que todos puedan acceder a él:

chmod 777 /servidor-admin

2.2. Comprobar que los directorios han sido creados correctamente, y que sus permisos son los adecuados:

ls -l /servidor-admin

3. Crear los diferentes usuarios openSUSE (con sus directorios "home" correspondientes) que accederán a los archivos del servidor:

useradd -c "Mariana Nasazzi" mariana -m -d /home/mariana
useradd -c "Oscar Italiano" oscar -m -d /home/oscar
useradd -c "Jorge Martínez" jorge -m -d /home/jorge
useradd -c "Lorena Gutiérrez" lorena -m -d /home/lorena

3.1. Si quisiéramos crear usuarios sin directorio "home", podemos utilizar la siguiente línea:

useradd -M pepe
 
3.2. Hay varias maneras de comprobar si los usuarios recientemente creados ya figuran en la lista de usuarios del sistema, siendo cat /etc/passwd una la más usuales entre los usuarios Linux.
Pero esta sentencia nos mostrará todos los usuarios existentes, no solamente los que acabamos de crear. Esta lista puede ser extensa, y en nuestro caso, más vale acotarla.
Para ello, también existen varios métodos. Utilizaremos el siguiente:

cat /etc/passwd | grep home

Lo anteriormente escrito, mostrará los usuarios que poseen directorio home, tal como fueron creados en el paso 3.

3.3. Para eliminar usuarios, utilizaremos el comando userdel, de un modo muy sencillo:

userdel pepe

Borrará al usuario "pepe"

4. Crear las contraseñas de acceso de dichos usuarios del sistema:

passwd mariana
passwd oscar
passwd jorge
passwd lorena

5. Crear el grupo que contendrá a los 4 usuarios:

groupadd administracion

6. Incluír en dicho grupo a todos los usuarios recientemente creados:

usermod -a -G administracion mariana
usermod -a -G administracion oscar
usermod -a -G administracion jorge
usermod -a -G administracion lorena

7. Habilitar a dichos usuarios para el uso de samba:

smbpasswd -a mariana
smbpasswd -a oscar
smbpasswd -a jorge
smbpasswd -a lorena

8. De nuevo, creamos los directorios dentro del directorio "padre" en donde de clasificará la información a compartir:

mkdir /servidor-admin/planillas
mkdir /servidor-admin/texto
mkdir /servidor-admin/imagenes
mkdir /servidor-admin/otros

Obsérvese que en algunos casos, no se utilizan tildes por precaución ante problemas posteriores (es el caso del directorio "imágenes" o el grupo "administración", por ejemplo).

9. Nos movemos al directorio "Samba":

cd /etc/samba

9.1. Listamos su contenido, para comprobar la existencia del archivo de configuración "smb.conf":

ls -l

10. Respaldamos el archivo Samba original, para recuperarlo en caso de "desastre":

cp smb.conf smbANT.conf

11. Abrimos en modo edición el archivo Samba existente (no el respaldado recientemente) con el editor "vi":

vi smb.conf

12. Presionamos la tecla "INSERT", y establecemos:

[global]
workgroup = @administracion
netbios name = servidor
security = user

Si existe información en el área "global", la eliminamos, e introducimos la que acabamos de indicar.

Método #2

9. Editamos el archivo /etc/samba/smb.conf, dejando la sección [GLOBAL] intacta.
Debajo del todo, agregamos las siguientes líneas:

[planillas] #Nombre "fantasía" del directorio (así es como aparecerá en la red para todos los usuarios)
path = /servidor-admin/planillas/
read only = no
browseable = yes
writeable = yes
valid users = lorena # Solamente Lorena tendrá acceso a este directorio

[texto] #Nombre "fantasía" del directorio (así es como aparecerá en la red para todos los usuarios)
path = /servidor-admin/texto/
read only = no
browsable = yes
writeable = yes
valid users = mariana oscar # Solamente Mariana y Oscar tendrán acceso a este directorio

[imagenes] #Nombre "fantasía" del directorio (así es como aparecerá en la red para todos los usuarios)
path = /servidor-admin/imagenes/
read only = no
browsable = yes
writeable = yes
valid users = Jorge # Solamente Jorge tendrá acceso a este directorio

[otros] #Nombre "fantasía" del directorio (así es como aparecerá en la red para todos los usuarios)
path = /servidor-admin/otros/
read only = no
browsable = yes
writeable = yes
valid users = mariana oscar jorge lorena # Los 4 usuarios tendrán acceso a este directorio

ENTRADA EN CONSTRUCCIÓN

4 comentarios: