miércoles, 17 de noviembre de 2010

Instalar servidor Samba para compartir archivos en red con Debian Squeeze.

--------------------------------------------------------------------------------------------------------------
Por circustancias en mi red ha surgido la necesidad de tener un espacio común para compartir archivos en red, así que hemos decidido montar un servidor Samba en un PC con Debian Squeeze.

Vamos a usar el servidor Samba simplemente para compartir un directorio en nuestra red y a quien le proporcionemos usuario y contraseña pueda acceder a los datos que contiene. Samba tiene muchas más funciones además de la que vamos a usar pero hoy nos centramos exclusivamente en esta.
--------------------------------------------------------------------------------------------------------------

INSTALAMOS SERVIDOR SAMBA

Abrimos una consola de administrador e instalamos el servidor Samba con apt :
       # apt-get install samba

Al instalarlo te pregunta el grupo, introduce el nombre y recuerdalo que es el grupo al que van a tener que pertenecer los clientes

AÑADIMOS USUARIOS AL SISTEMA Y A SAMBA

1. Añadimos usuarios en el sistema.

    a) Listamos todos los usuarios que ya existen en el sistema para cerciorarnos que no duplicamos nombres y números de identificación :
        # cat /etc/passwd

    b) Voy a añadir tres nuevos usuarios por ejemplo "exbian", "pepe" y "rosa". Los añadimos como usuarios del sistema, sin crear el directorio de usuario en "/home" y añadiendo los con los números de identificación(UID) 500, 501 y 502 :
        # adduser --system --no-create-home --uid 500 exbian
        # adduser --system --no-create-home --uid 501 pepe
        # adduser --system --no-create-home --uid 502 rosa
       
        Si queremos borrar un usuario, por ejemplo "pepe" :
        # deluser pepe

    c) Comprobamos que los usuarios "exbian", "pepe" y "rosa" han sido añadidos correctamente :
        # cat /etc/passwd | grep exbian
        # cat /etc/passwd | grep pepe
        # cat /etc/passwd | grep rosa

2. Añadimos usuarios a Samba.

    a) Añadimos los usuarios "exbian" "pepe" y "rosa" a Samba :
        # smbpasswd -a exbian
         New SMB password:                    # Introduce contraseña
         Retype new SMB password:         # Introduce contraseña
         Added user exbian
     (Repetimos con los 3 usuarios)
   
    Si queremos cambiar contraseñas al usuario "pepe" :
        # smbpasswd exbian
        New SMB password:
        Retype new SMB password:
   
    Si queremos borrar al usuario "pepe" de samba :
        # smbpasswd -x pepe

    c) Comprobamos si hemos añadido correctamente los usuarios :
        # pdbedit -L

AÑADIMOS RECURSO COMPARTIDO

1. Lo añadimos en "/etc/samba/smb.conf".

    Podemos hacerlo con nuestro editor de texto favorito. Yo utilizo nano :
         # nano /etc/samba/smb.conf

    Y añadimos al final del archivo :

              [compartidos]
                comment = Directorio Compartido
                path = /mnt/samba
                read only = yes
                write list = exbian
                valid users = exbian,pepe,rosa
                directory mask = 0775
                create mask = 0644

         ¿Que es lo que he añadido?

                "[compartidos]" : Nombre del recurso compartido.
                 "comment" : Descripcion.
                 "path" : Ubicación fisica.
                 "read only = yes" : En general solo permitir lectura.
                 "write list" : Usuarios con permiso de escritura.
                 "valid users" : Usuarios que pueden loguearse.
                 "directory mask" : Define el permisos.
                 "create mask" : Define el permisos.


    Podemos añadir tantos recursos compartidos como queramos.

    Antes de guardar los cambios en "/etc/samba/smb.conf"  tenemos que activar la opción "security = user". Buscamos la linea
            # security = user
        Quitamos la '#' y tendría que quedar
            security = user

    Cuando acabemos CTRL+O para guardar, ENTER para confirmar nombre de archivo, y CTRL+O para salir de nano.

    Yo he utilizado como "path" "/mnt/samba" porque tengo un disco duro montado en esa ubicación. Si esta no es tu situación cambia "/mnt/samba" por la ubicación del directorio donde quieras tener tus recursos compartidos. O simplemente crealo :
        # mkdir /mnt/samba

    Cambiamos los permisos del directorio que va a contener los directorios compartidos para que cualquiera pueda escribir. No te preocupes samba administra los usuarios con permiso de escritura :
        # chmod 777 /mnt/samba/

COMPROBAMOS QUE TODO ESTA BIEN Y APLICAMOS LOS CAMBIOS

1. Comprobamos el /etc/samba/smb.conf con "testparm".
        # testparm
        Load smb config files from /etc/samba/smb.conf
        rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
        Processing section "[homes]"
        Processing section "[printers]"
        Processing section "[print$]"
        Processing section "[compartidos]"
        Loaded services file OK.
        Server role: ROLE_STANDALONE
        Press enter to see a dump of your service definitions

    Si aparece "Loaded services file OK" ya tienes tu servidor samba configurado.

2. Reiniciamos el servidor samba, para que las nuevas configuraciones surtan efecto.
        # /etc/init.d/samba restart

--------------------------------------------------------------------------------------------------------------
Ya tenemos un servidor Samba con un directorio compartido para poder acceder desde cualquier PC de mi red. Daremos un usuario y contraseña a quien correponda para que puedan acceder al servidor.
--------------------------------------------------------------------------------------------------------------

PARA ENTRAR AL DIRECTORIO COMPARTIDO DESDE CLIENTES

Para entrar desde Linux con entorno grafico KDE  utilizando los navegadores Konqueror o Dolphin simplemente escribir en la barra de direcciones :
                smb://usuario@servidor/recurso
                                Un ejemplo en Debian Squeeze

Si te conectas con Internet Explorer escribe en la barra de direcciones :
         \\192.168.69.222\compartidos
                   Sustituye "192.168.69.222" por la IP de tu servidor
                   y "compartidos" por el nombre de tu recurso compartido.

--------------------------------------------------------------------------------------------------------------

DESACTIVAMOS LOS ARCHIVOS COMPARTIDOS DE USUARIO

Si Tienes usuarios en este PC y no quieres compratir nada de esos usuarios en el servidor como es mi caso, puedes anular el recurso compartido [home] en el archivo de configuración de Samba smb.conf.


1. Por seguridad hacemos la copia de seguridad del original :
          # cp /etc/samba/smb.conf /etc/samba/smb.conf_cds


2. Editamos con nano el original y borramos o almuadillamos el recurso compartido [home].
           # nano /etc/samba/smb.conf

    Yo borro todo esto :

        [homes]
          comment = Home Directories
          browseable = no

         # By default, the home directories are exported read-only. Change the
         # next parameter to 'no' if you want to be able to write to them.
           read only = yes

         # File creation mask is set to 0700 for security reasons. If you want to
         # create files with group=rw permissions, set next parameter to 0775
.           create mask = 0700

         # Directory creation mask is set to 0700 for security reasons. If you want to
         # create dirs. with group=rw permissions, set next parameter to 0775.
            directory mask = 0700

         # By default, \\server\username shares can be connected to by anyone
         # with access to the samba server
.        # The following parameter makes sure that only "username" can connect
         # to \\server\username
         # This might need tweaking when using external authentication schemes
            valid users = %S

    Cuando acabemos de editar CTRL+O para guardar, ENTER para confirmar nombre de archivo, y CTRL+O para salir de nano.


3. Comprobamos el /etc/samba/smb.conf con "testparm".
          # testparm
          Load smb config files from /etc/samba/smb.conf
          rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
          Processing section "[printers]"
          Processing section "[print$]"
          Processing section "[compartidos]"
          Loaded services file OK.
          Server role: ROLE_STANDALONE
          Press enter to see a dump of your service definitions

    Si aparece "Loaded services file OK" ya tienes tu servidor samba bien configurado.


4. Reiniciamos el servidor samba, para que las nuevas configuraciones surtan efecto.
         # /etc/init.d/samba restart

--------------------------------------------------------------------------------------------------------------

1 comentario:

MASTER dijo...

Gracias me ayudo mucho...