viernes, 23 de marzo de 2007

Compartir directorios con Samba

   En el artículo anterior configuré un raid 1 en debian listo para ser utilizado y aprovechar la redundancia que proporciona para almacenar información importante. Ahora lo que vamos a ver es cómo configurar Samba para poder compartir el raid entre máquinas windows. Además, utilizaremos autenticación de los usuarios y controlaremos los permisos de los directorios a nivel de sistema operativo y con samba.

   Voy a crear un grupo casa con los usuarios ivan y ana y la estructura de directorios será la siguiente.
   + Home
- Ivan
- Ana
+ Datos
- Musica
- Pelis
- Fotos
- Varios
- Lo_que_sea

   Cada usuario tendrá permisos de sólo-lectura en el home del otro usuario y todo lo que cuelgue de Datos podrá ser modificado por cualquiera de nosotros dos. Como es algo muy básico no voy a mostrar ni la creación del grupo, usuarios, directorios, permisos con chmod y chown,... creo que hay muchas páginas en la red con ayuda y ejemplos. Sólo muestro cómo quedan al final:

shian:/mnt/raid# ls -l
total 24
drwxrwxrwx 7 root root 4096 2007-03-15 09:53 Datos
drwxr-xr-x 4 root root 4096 2007-03-15 09:46 Home
drwx------ 2 root root 16384 2007-03-13 16:42 lost+found

shian:/mnt/raid# ls -l Datos/
total 20
drwxrwx--- 3 ivan casa 4096 2007-03-15 09:54 Fotos
drwxrwx--- 4 ivan casa 4096 2007-03-15 09:54 Musica
drwxrwx--- 2 ana casa 4096 2007-03-15 09:53 Pelis
drwxrwx--- 3 ivan casa 4096 2007-03-15 09:51 Papelera de reciclaje
drwxrwx--- 3 root root 4096 2007-03-15 09:52 Varios

shian:/mnt/raid# ls -l Home/
total 8
drwxr-x--- 3 ana casa 4096 2007-03-15 09:53 Ana
drwxr-x--- 2 ivan casa 4096 2007-03-15 09:50 Ivan
  • Hay que añadir los usuarios a samba:
    shian:/# smbpasswd -a ivan
    New SMB password:
    Retype new SMB password:
    shian:/# smbpasswd -a ana
    New SMB password:
    Retype new SMB password:

  • El archivo de configuración de Samba es el siguiente:
    shian:/# cat /etc/samba/smb.conf
    # Global parameters
    [global]
    display charset = UTF-8
    server string = Shian server
    obey pam restrictions = Yes
    passdb backend = tdbsam, guest
    syslog = 0
    max log size = 1000
    socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=16384 SO_RCVBUF=16384
    load printers = No
    local master = No
    dns proxy = No
    invalid users = root

    # Para habilitar la papelera de reciclaje
    recycle:directory_mode = 0770
    recycle:versions = Yes
    recycle:keeptree = Yes
    recycle:repository = Papelera de reciclaje
    vfs objects = recycle

    [temporal]
    comment = tmp
    path = /mnt/tmp
    read only = No
    create mask = 0660
    directory mask = 0770
    guest ok = No

    [datos]
    comment = Datos del raid
    path = /mnt/raid/Datos
    read only = Yes
    write list = @casa
    create mask = 0660
    directory mask = 0770
    guest ok = No

    [home]
    comment = Home usuarios
    path = /mnt/raid/Home
    read only = Yes
    write list = @casa
    create mask = 0640
    directory mask = 0750
    guest ok = No

  • Una opción interesante de Samba es la utilización del objeto recycle que implementa una papelera de reciclaje. Así, si borramos archivos de las carpetas de red éstos no se eliminan sino que se almacenan en la carpeta Papelera de reciclaje por si los queremos recuperar posteriormente.
  • Ahora, si nos conectamos desde una máquina windows tenemos lo siguiente:

  •    En fin, una configuración bastante sencilla y una manera muy simple de compartir los datos. La configuración de samba se podría hacer de muchas maneras puesto que proporciona mucha flexibilidad en cuanto a opciones de configuración y compartición de archivos pero para el uso que le vamos a dar en casa es más que suficiente con esto.

    6 comentarios:

    Anónimo dijo...

    Muy bueno el articulo, asi como los demas sobre Raid en prepro y lo de recuperar la passwd de root :p.

    Me has hecho descubrir la opcion recycle. No la conocia! La voy a poner en mi sevidor de ficheros porque es verdad que a veces lo echaba de menos ;-) (aunque como digo yo, es un poco una windosada, no? :p )

    Iván dijo...

    Pues sí, como dices es algo de windows pero que puede venir muy bien en algunos casos. No se comporta exactamente igual que la papelera de reciclaje a la que estamos acostumbrados pero sirve.

    Saludos, Iván.

    Anónimo dijo...

    A mí también me ha parecido especialmente interesante lo de la papelera de reciclaje.

    Lo peor del samba es la pelea con los juegos de caracteres, los acentos, las eñes y todo eso. Tengo pendiente escribir en mi blog sobre cómo lo solucioné yo.

    Gracias por la entrada

    Iván dijo...

    Super coco, espero impaciente tu artículo en tu blog para ver cómo lo tienes configurado, no sea que luego me lleve un disgusto.

    Saludos, Iván.

    Anónimo dijo...

    Como lo puedo hacer para acceder solamente yo desde cualquier PC windows a un especifico directorio,
    ya que cuando lo accedo por primera vez me pide la password pero ya por segunda vez no lo hace y entro directamente a la carpeta compartida con samba
    desde ya gracias
    Saludos
    Renato

    Iván dijo...

    Hola Renato,

    si te he entendido bien, lo que quieres hacer es que cada vez que accedas a un recurso compartido por Samba te pida usuario y password?. Si es así, la verdad es que no sé cómo se hace porque windows "cachea" ese usuario y password y lo utiliza siempre hasta que reinicias la sesión. Es posible que exista alguna clave en el registro para cambiar esto. Intenta buscar algo por ahí.

    Saludos, Iván.

    Publicar un comentario