Reaprovechando un viejo pc para montar un NAS: Ubuntu + Samba
{ Posted on 12:49
by Fernando López Sánchez
}
Uno de los procesos más críticos en cualquier pyme es la de salvaguardar sus datos frente a posibles desastres que puedan sufrir o bien los equipos o directamente la oficina donde se ubican. Existen diversas soluciones profesionales ya implementadas, pero quizás a un precio inalcanzable para lo que supone la inversión tic de una pyme.
Recientemente hemos desechado un viejo equipo, y me propuse reaprovecharlo para montar un sistema NAS donde automatizar las copias de seguridad de la oficina, y nada mejor que utilizar sistemas y herramientas basadas en software libre para conseguir mi objetivo a coste cero.
En la red existen diversos proyectos específicos para transformar un viejo pc en un servidor NAS, pero en mi caso, me interesaba crearlo a partir de un sistema operativo corriente para reaprovecharlo también como servidor Apache para una aplicación a través de la red.
En mi caso, al viejo pc (ordenador PIV, 512 Mb Ram y dos discos duros de 80 y 60 Gb) le he instalado un Ubuntu 9.04. He decido utilizar la versión de escritorio (se que a muchos no os gustara esta idea) para a continuación instalar todos los servicios necesarios para su correcto funcionamiento. Comentaros que he dividido el primer disco duro en tres particiones diferentes: una partición de 20 Gb para la partición raiz, una de 2 Gb para la swap (área de intercambio) y el resto para datos. El segundo disco lo he destinado íntegramente para datos también.
Bien, comencemos un poco con la parte técnica (para instalar ubuntu, existen cientos de manuales en la red, buscad uno). Una vez finalizada la instalación, os recomiendo encarecidamente que actualicéis el sistema. Abrid una terminal y escribir.
$ sudo apt-get update | sudo apt-get dist-upgrade
Una vez actualizado y reiniciado, debemos instalar el servicio samba y el servicio para trabajar con el tipo de archivos de samba. De nuevo, en una terminal escribimos:
$ sudo apt-get install samba smbfs
Una vez finalizado, debemos de configurar el servicio. En este paso debemos de indicar que existen dos tareas principales que hacer: por un lado, configurar los directorios compartidos, y por otro lado incluir usuarios para que puedan utilizar estos directorios.
Compartiendo directorios:
Debemos de modificar el archivo smb.conf que se encuentra en /etc. En una terminal escribimos:
$ gedit /etc/samba/smb.conf
Se nos abrirá el editor de textos con el archivo de configuración que debemos modificar. Bien, el fichero es bastante extenso, por lo que directamente, buscamos la etiqueta “Share Definitions”. En este apartado (vereis ejemplos de este tipo de bloque, pues a continuación) es donde debemos de incluir los datos referentes a las carpetas que queremos compartir. La estructura por cada carpeta que queramos incluir debe ser la siguiente:
[carpeta]
comment = carpeta ; nombre de la carpeta
path = /media/carpeta ; ruta de acceso a la carpeta
public = no ; definimos si la carpeta es pública o no
create mask = 0775 ; creamos máscara para el acceso a la carpeta
directory mask = 0775;
browseable = no ; hacemos que la carpeta no se pueda encontrar automáticamente en la red
writable = yes ; damos permiso para que se pueda modificar el contenido
valid user = user ; hacemos que sólo el usuario “user” pueda acceder a la carpeta
Una vez incluidos todos los datos referentes a estas carpetas, reiniciamos el demonio del servicio y las carpetas pasan a estar compartidas en la red.
Dando acceso a los usuarios:
Bien, una vez que hemos compartido en la red todas las carpetas que necesitemos crear, vamos a darle permiso de conexión a los usuarios. La forma más lógica para la seguridad de las escrituras y consultas en las carpetas es la creación de un usuario por equipo que se vaya a conectar a nuestro servidor de copias de seguridad. De esta forma, podremos asegurar que el usuario que tiene acceso a la carpeta para su modificación sea el apropiado (mediante la opción “valid user” de la descripción del recurso).
De esta forma, debemos inicialmente crear el usuario. En una terminal escribimos:
$ sudo adduser nombre_usuario
Y rellenamos la información que nos solicite el proceso. A continuación, debemos de añadirlo a la base de datos de usuarios autorizados para Samba. Para ello, escribimos:
$ sudo smbpasswd -a nombre_usuario
indicamos la contraseña (que estaría bien que fuese la misma que la del propio usuario indicada en el paso anterior) y ya tenemos el usuario apto para trabajar. Sólo una indicación para el aumento de la seguridad: hagamos que los usuarios creados para la modificación de los contenidos de las carpetas no puedan acceder al sistema de forma habitual y modificar cualquier aspecto del mismo. Para ello, debemos de modificar el fichero /etc/passwd.
Nos vamos a una terminal y escribimos:
sudo gedit /etc/passwd
y nos aparecerá el fichero que contendrá una línea por cada usuario creado. De esta forma, al final del fichero veremos todos los nuevos usuarios que hemos creado para trabajar con samba. En cada línea, el final de la misma indica el shell que ejecutará cada tipo de usuario. Así que cambiamos el /bin/bash del final por /bin/false (importante, sólo en los usuarios que hemos creado para trabajar con samba), e impediremos que estos usuarios puedan funcionar como usuarios habituales en el sistema.
Con todo esto, podemos reiniciar el demonio del servicio (sudo /etc/init.d/samba restart) y estará todo listo. Sólo nos quedará intentar conectarnos desde las máquinas clientes a la unidad de red, eso sí, exclusivamente a través de la opción “Conectar a una unidad de red”, puesto que recordad que hemos puesto que los elementos compartidos no se puedan visualizar a través de la red.
Recientemente hemos desechado un viejo equipo, y me propuse reaprovecharlo para montar un sistema NAS donde automatizar las copias de seguridad de la oficina, y nada mejor que utilizar sistemas y herramientas basadas en software libre para conseguir mi objetivo a coste cero.
En la red existen diversos proyectos específicos para transformar un viejo pc en un servidor NAS, pero en mi caso, me interesaba crearlo a partir de un sistema operativo corriente para reaprovecharlo también como servidor Apache para una aplicación a través de la red.
En mi caso, al viejo pc (ordenador PIV, 512 Mb Ram y dos discos duros de 80 y 60 Gb) le he instalado un Ubuntu 9.04. He decido utilizar la versión de escritorio (se que a muchos no os gustara esta idea) para a continuación instalar todos los servicios necesarios para su correcto funcionamiento. Comentaros que he dividido el primer disco duro en tres particiones diferentes: una partición de 20 Gb para la partición raiz, una de 2 Gb para la swap (área de intercambio) y el resto para datos. El segundo disco lo he destinado íntegramente para datos también.
Bien, comencemos un poco con la parte técnica (para instalar ubuntu, existen cientos de manuales en la red, buscad uno). Una vez finalizada la instalación, os recomiendo encarecidamente que actualicéis el sistema. Abrid una terminal y escribir.
$ sudo apt-get update | sudo apt-get dist-upgrade
Una vez actualizado y reiniciado, debemos instalar el servicio samba y el servicio para trabajar con el tipo de archivos de samba. De nuevo, en una terminal escribimos:
$ sudo apt-get install samba smbfs
Una vez finalizado, debemos de configurar el servicio. En este paso debemos de indicar que existen dos tareas principales que hacer: por un lado, configurar los directorios compartidos, y por otro lado incluir usuarios para que puedan utilizar estos directorios.
Compartiendo directorios:
Debemos de modificar el archivo smb.conf que se encuentra en /etc. En una terminal escribimos:
$ gedit /etc/samba/smb.conf
Se nos abrirá el editor de textos con el archivo de configuración que debemos modificar. Bien, el fichero es bastante extenso, por lo que directamente, buscamos la etiqueta “Share Definitions”. En este apartado (vereis ejemplos de este tipo de bloque, pues a continuación) es donde debemos de incluir los datos referentes a las carpetas que queremos compartir. La estructura por cada carpeta que queramos incluir debe ser la siguiente:
[carpeta]
comment = carpeta ; nombre de la carpeta
path = /media/carpeta ; ruta de acceso a la carpeta
public = no ; definimos si la carpeta es pública o no
create mask = 0775 ; creamos máscara para el acceso a la carpeta
directory mask = 0775;
browseable = no ; hacemos que la carpeta no se pueda encontrar automáticamente en la red
writable = yes ; damos permiso para que se pueda modificar el contenido
valid user = user ; hacemos que sólo el usuario “user” pueda acceder a la carpeta
Una vez incluidos todos los datos referentes a estas carpetas, reiniciamos el demonio del servicio y las carpetas pasan a estar compartidas en la red.
Dando acceso a los usuarios:
Bien, una vez que hemos compartido en la red todas las carpetas que necesitemos crear, vamos a darle permiso de conexión a los usuarios. La forma más lógica para la seguridad de las escrituras y consultas en las carpetas es la creación de un usuario por equipo que se vaya a conectar a nuestro servidor de copias de seguridad. De esta forma, podremos asegurar que el usuario que tiene acceso a la carpeta para su modificación sea el apropiado (mediante la opción “valid user” de la descripción del recurso).
De esta forma, debemos inicialmente crear el usuario. En una terminal escribimos:
$ sudo adduser nombre_usuario
Y rellenamos la información que nos solicite el proceso. A continuación, debemos de añadirlo a la base de datos de usuarios autorizados para Samba. Para ello, escribimos:
$ sudo smbpasswd -a nombre_usuario
indicamos la contraseña (que estaría bien que fuese la misma que la del propio usuario indicada en el paso anterior) y ya tenemos el usuario apto para trabajar. Sólo una indicación para el aumento de la seguridad: hagamos que los usuarios creados para la modificación de los contenidos de las carpetas no puedan acceder al sistema de forma habitual y modificar cualquier aspecto del mismo. Para ello, debemos de modificar el fichero /etc/passwd.
Nos vamos a una terminal y escribimos:
sudo gedit /etc/passwd
y nos aparecerá el fichero que contendrá una línea por cada usuario creado. De esta forma, al final del fichero veremos todos los nuevos usuarios que hemos creado para trabajar con samba. En cada línea, el final de la misma indica el shell que ejecutará cada tipo de usuario. Así que cambiamos el /bin/bash del final por /bin/false (importante, sólo en los usuarios que hemos creado para trabajar con samba), e impediremos que estos usuarios puedan funcionar como usuarios habituales en el sistema.
Con todo esto, podemos reiniciar el demonio del servicio (sudo /etc/init.d/samba restart) y estará todo listo. Sólo nos quedará intentar conectarnos desde las máquinas clientes a la unidad de red, eso sí, exclusivamente a través de la opción “Conectar a una unidad de red”, puesto que recordad que hemos puesto que los elementos compartidos no se puedan visualizar a través de la red.

No Response to "Reaprovechando un viejo pc para montar un NAS: Ubuntu + Samba"
Publicar un comentario