Samba en Ubuntu 11.10/12.04




Configuración de samba en un red Windows xp/Seven
La idea?

Montar Samba como PDC es una buena alternativa frente a
   utilizar widows 2000 o superior para manejar cuentas de
  usuario y otras cosas más. Evidentemente, este pequeño
  howto no busca hacerlos expertos en el tema, sólo ofrece
   unos humildes cimientos de los cuales su imaginación e
          investigación jugarán un rol fundamental en su
         aprendizaje referente a ciertas tareas que como
      informáticos, se nos suele pedir al menos en alguna
                           oportunidad.
La instalación

Como cualquier package que se necesite instalar en alguna
        distro como ubuntu (siendo Superusuario):

           #apt-get install samba samba-doc

    Con esto, se instalará el package de samba y su
   documentación para extraer el schema que se utilizará
                       más adelante.
Respaldemos!
 No es una obligación, pero nunca es un paso que esté de
     más... antes de seguir, en caso de que se necesite
        restaurar el smb.conf en alguna oportunidad.

#cp -p /etc/samba/smb.conf /etc/samba/smb[date].conf

Este comando creará un archivo en el directorio /etc/samba,
     donde [date] es la fecha del dia en que realizamos el
       respaldo. (puede ser otro número – es sólo una
                          sugerencia)
Manos a la obra!
   Una vez que los pasos anteriores estén realizados,
              comencemos con la travesia.

    El primer paso será crear un usuario de sistema:

                    #adduser usamba

En éste caso utilizo 'usamba', pero uds. pueden utilizar el
 nombre que deseen... será mientras solo una cuenta mas
 en tu /home. Puedes comprobar la existencia del usuario
           con un grep al archivo /etc/passwd.
Smb.conf ahi vamos!
    La verdad es que no es un archivo muy complejo de
   modificar (no es tan extenso como otros), pero tratare de
          que quede ordenado (si no es asi, pidelo a
        gcuello.info@gmail.com - y con gusto lo envio)

     Las directivas que deben ser modificadas serían:
workgroup = [elnombredetudominio].cl
server string = %h server
dns proxy = no (si es que tienes uno, pone su ip)
max log size = 10000 (al menos yo lo amplie)
syslog = 0
security = domain
Smb.conf ahi vamos!
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Entersnews*spassword:* %nn *Retype
  snews*spassword:* %nn
  *passwordsupdatedssuccessfully* .
pam password change = yes
domain logons = yes
domain master = yes
local master = yes
preferred master = yes
os level = 64
logon path = %Nprofiles%U
logon path = %N%Uprofile
Smb.conf ahi vamos!
logon drive = H: (O la unidad que quieras)
logon home = %N%U
;   logon script = logon.cmd
local master = yes
os level = 64
preferred master = yes

add user script = /usr/sbin/adduser --quiet --disabled-
  password --gecos "" %u

add machine script = /usr/sbin/useradd -g machines -c
  "%u machine account" -d /var/lib/samba -s /bin/false
  %u

add group script = /usr/sbin/addgroup --force-badname %g
Smb.conf ahi vamos!
printing = cups (por si se interesan en servidor de
  impresora)
printcap name = cups
;   include = /home/samba/etc/smb.conf.%m
domain master = yes (si es que tu dominio sera master)

[homes]
   comment = Home Directories
   browseable = no

;   read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
Smb.conf ahi vamos!
[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = yes
   read only = yes
   share modes = no


[profiles]
   comment = Users profiles
   path = /home/samba/profiles
   avalaible = yes
   guest ok = no
   printable = no
   browseable = no
Smb.conf ahi vamos!
   create mask = 0600
   directory mask = 0700
   locking = no
   strict locking = no
   profile acls = yes
   force user = %U
   valid user = %U @"Domain Admins"

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
Smb.conf ahi vamos!
[print$] (en caso de impresoras)
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no


;[cdrom] (en caso de compartir unidades ópticas)
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes
Ya llevamos buena parte!
   Con esa configuración (De verdad espero que se
 comprenda) Debieramos estar listos con smb.conf – hay
  cosas que quizá no se necesitará, como las opcionales
       que especifiqué, como impresoras, cd-rom...
 personalmente es secundario en este momento, pero por
      seguridad, seria bueno activarlas/restringuirlas
       posteriormente probado el funcionamiento.

Al igual que al principio, yo que ustedes, respaldaría de la
                    forma que les mostré.
Sigamos con nuestro PDC

 Agregaremos un grupo de usuario al que llamaremos
'equipos' (nombre a tu elección). Lo importante es que en
             este grupo irá nuestros clientes.

             #groupadd –g 201 equipos

  Si quieren verificar su creación, un grep al archivo
     /etc/group, tal como #grep equipos /etc/group
Sigamos con nuestro PDC
A continuación, crearemos los directorios que expresamos
      en smb.conf con referencia a netlogon y profiles:

            #mkdir –m 0775 /home/netlogon

       #mkdir /home/samba /home/samba/profiles

Aprovechemos de agregar el usuario de tu dominio (el que
       aparece en las primeras lineas de smb.conf:
        #useradd –m [elnombredetudominio].cl
Sigamos con nuestro PDC
     Le ingresas una contraseña de sistema:

       #passwd [elnombredetudominio].cl

      Le ingresas una contraseña de samba:
    #smbpasswd –a [elnombredetudominio].cl

Y también a el usuario creado al principio (usamba)
              #smbpasswd –a usamba
Sigamos con nuestro PDC

Ahora, agregarás el nombre de maquina como un usuario al
                      grupo “equipos”:

 #useradd –g machines –d /dev/null –s /dev/null –c
        “Cliente Windows” [nombreMaquinaAUnir]

         Le ingresas una contraseña de samba:
        #smbpasswd –a –m [nombreMaquinaAUnir]
Sigamos con nuestro PDC
                   Y al usuario usamba:
                   #smbpasswd –e usamba

Para conocer el nombre de máquina de windows, es sencillo
                   … seguro ya lo sabes.

     Para ir finalizando, reinicias el servicio de samba:

              #/etc/init.d/samba restart

             También puede ser con 'services'
Finalizando...
Al fin!, ya tienes todo listo como para ir a tu cliente windows
   y agregarlo al dominio creado. Puedes usar la cuenta de
                    usamba para iniciar sesión.

Evidentemente, tanto servidor como cliente deben estar en
        la misma red para que no haya problemas.

    Este howto, no aplica roaming profiles ni nada más
  elaborado que lo básico. Obviamente puedes ir probando
  con tus propios comandos los distintos intereses, pero al
              menos a mi me quedo funcional.
A considerar
     Puedes ir mezclando más cosas respecto a tus
   necesidades. Para una red pequeña funciona muy bien;
    quizá si se requiere algo mayor, no dudaria en utilizar
     OpenLdap para manejar más políticas y directivas.

  Para llevar acabo éste howto, se debe contar con cierto
     conocimiento previo de lo que se quiere hacer y la
               utilización de comandos básicos.

La solución fue probada con Win xp y windows 7, pero para
   que éste ultimo detecte el dominio tuve que instalar una
        especie de parche que lo puedes encontrar en:
  http://www.gulic.org/node/1256 - Lo instalas en tus win7 y
                 a disfrutar y experimentar :)
Fin
Indudablemente seguiré complementando este pequeño
     howto, por si algún detalle no fue considerado.

         Agradezceré además sus aportes.

                 Hasta la próxima :)

                       GCC
Manos a la obra!
   Una vez que los pasos anteriores estén realizados,
              comencemos con la travesia.

    El primer paso será crear un usuario de sistema:

                    #adduser usamba

En éste caso utilizo 'usamba', pero uds. pueden utilizar el
 nombre que deseen... será mientras solo una cuenta mas
 en tu /home. Puedes comprobar su creación haciendo un
                grep al archivo /etc/passwd.

Samba ubuntu11_10_12 04_slide

  • 1.
    Samba en Ubuntu11.10/12.04 Configuración de samba en un red Windows xp/Seven
  • 2.
    La idea? Montar Sambacomo PDC es una buena alternativa frente a utilizar widows 2000 o superior para manejar cuentas de usuario y otras cosas más. Evidentemente, este pequeño howto no busca hacerlos expertos en el tema, sólo ofrece unos humildes cimientos de los cuales su imaginación e investigación jugarán un rol fundamental en su aprendizaje referente a ciertas tareas que como informáticos, se nos suele pedir al menos en alguna oportunidad.
  • 3.
    La instalación Como cualquierpackage que se necesite instalar en alguna distro como ubuntu (siendo Superusuario): #apt-get install samba samba-doc Con esto, se instalará el package de samba y su documentación para extraer el schema que se utilizará más adelante.
  • 4.
    Respaldemos! No esuna obligación, pero nunca es un paso que esté de más... antes de seguir, en caso de que se necesite restaurar el smb.conf en alguna oportunidad. #cp -p /etc/samba/smb.conf /etc/samba/smb[date].conf Este comando creará un archivo en el directorio /etc/samba, donde [date] es la fecha del dia en que realizamos el respaldo. (puede ser otro número – es sólo una sugerencia)
  • 5.
    Manos a laobra! Una vez que los pasos anteriores estén realizados, comencemos con la travesia. El primer paso será crear un usuario de sistema: #adduser usamba En éste caso utilizo 'usamba', pero uds. pueden utilizar el nombre que deseen... será mientras solo una cuenta mas en tu /home. Puedes comprobar la existencia del usuario con un grep al archivo /etc/passwd.
  • 6.
    Smb.conf ahi vamos! La verdad es que no es un archivo muy complejo de modificar (no es tan extenso como otros), pero tratare de que quede ordenado (si no es asi, pidelo a gcuello.info@gmail.com - y con gusto lo envio) Las directivas que deben ser modificadas serían: workgroup = [elnombredetudominio].cl server string = %h server dns proxy = no (si es que tienes uno, pone su ip) max log size = 10000 (al menos yo lo amplie) syslog = 0 security = domain
  • 7.
    Smb.conf ahi vamos! encryptpasswords = true passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Entersnews*spassword:* %nn *Retype snews*spassword:* %nn *passwordsupdatedssuccessfully* . pam password change = yes domain logons = yes domain master = yes local master = yes preferred master = yes os level = 64 logon path = %Nprofiles%U logon path = %N%Uprofile
  • 8.
    Smb.conf ahi vamos! logondrive = H: (O la unidad que quieras) logon home = %N%U ; logon script = logon.cmd local master = yes os level = 64 preferred master = yes add user script = /usr/sbin/adduser --quiet --disabled- password --gecos "" %u add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u add group script = /usr/sbin/addgroup --force-badname %g
  • 9.
    Smb.conf ahi vamos! printing= cups (por si se interesan en servidor de impresora) printcap name = cups ; include = /home/samba/etc/smb.conf.%m domain master = yes (si es que tu dominio sera master) [homes] comment = Home Directories browseable = no ; read only = yes create mask = 0700 directory mask = 0700 valid users = %S
  • 10.
    Smb.conf ahi vamos! [netlogon] comment = Network Logon Service path = /home/samba/netlogon guest ok = yes read only = yes share modes = no [profiles] comment = Users profiles path = /home/samba/profiles avalaible = yes guest ok = no printable = no browseable = no
  • 11.
    Smb.conf ahi vamos! create mask = 0600 directory mask = 0700 locking = no strict locking = no profile acls = yes force user = %U valid user = %U @"Domain Admins" [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700
  • 12.
    Smb.conf ahi vamos! [print$](en caso de impresoras) comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no ;[cdrom] (en caso de compartir unidades ópticas) ; comment = Samba server's CD-ROM ; read only = yes ; locking = no ; path = /cdrom ; guest ok = yes
  • 13.
    Ya llevamos buenaparte! Con esa configuración (De verdad espero que se comprenda) Debieramos estar listos con smb.conf – hay cosas que quizá no se necesitará, como las opcionales que especifiqué, como impresoras, cd-rom... personalmente es secundario en este momento, pero por seguridad, seria bueno activarlas/restringuirlas posteriormente probado el funcionamiento. Al igual que al principio, yo que ustedes, respaldaría de la forma que les mostré.
  • 14.
    Sigamos con nuestroPDC Agregaremos un grupo de usuario al que llamaremos 'equipos' (nombre a tu elección). Lo importante es que en este grupo irá nuestros clientes. #groupadd –g 201 equipos Si quieren verificar su creación, un grep al archivo /etc/group, tal como #grep equipos /etc/group
  • 15.
    Sigamos con nuestroPDC A continuación, crearemos los directorios que expresamos en smb.conf con referencia a netlogon y profiles: #mkdir –m 0775 /home/netlogon #mkdir /home/samba /home/samba/profiles Aprovechemos de agregar el usuario de tu dominio (el que aparece en las primeras lineas de smb.conf: #useradd –m [elnombredetudominio].cl
  • 16.
    Sigamos con nuestroPDC Le ingresas una contraseña de sistema: #passwd [elnombredetudominio].cl Le ingresas una contraseña de samba: #smbpasswd –a [elnombredetudominio].cl Y también a el usuario creado al principio (usamba) #smbpasswd –a usamba
  • 17.
    Sigamos con nuestroPDC Ahora, agregarás el nombre de maquina como un usuario al grupo “equipos”: #useradd –g machines –d /dev/null –s /dev/null –c “Cliente Windows” [nombreMaquinaAUnir] Le ingresas una contraseña de samba: #smbpasswd –a –m [nombreMaquinaAUnir]
  • 18.
    Sigamos con nuestroPDC Y al usuario usamba: #smbpasswd –e usamba Para conocer el nombre de máquina de windows, es sencillo … seguro ya lo sabes. Para ir finalizando, reinicias el servicio de samba: #/etc/init.d/samba restart También puede ser con 'services'
  • 19.
    Finalizando... Al fin!, yatienes todo listo como para ir a tu cliente windows y agregarlo al dominio creado. Puedes usar la cuenta de usamba para iniciar sesión. Evidentemente, tanto servidor como cliente deben estar en la misma red para que no haya problemas. Este howto, no aplica roaming profiles ni nada más elaborado que lo básico. Obviamente puedes ir probando con tus propios comandos los distintos intereses, pero al menos a mi me quedo funcional.
  • 20.
    A considerar Puedes ir mezclando más cosas respecto a tus necesidades. Para una red pequeña funciona muy bien; quizá si se requiere algo mayor, no dudaria en utilizar OpenLdap para manejar más políticas y directivas. Para llevar acabo éste howto, se debe contar con cierto conocimiento previo de lo que se quiere hacer y la utilización de comandos básicos. La solución fue probada con Win xp y windows 7, pero para que éste ultimo detecte el dominio tuve que instalar una especie de parche que lo puedes encontrar en: http://www.gulic.org/node/1256 - Lo instalas en tus win7 y a disfrutar y experimentar :)
  • 21.
    Fin Indudablemente seguiré complementandoeste pequeño howto, por si algún detalle no fue considerado. Agradezceré además sus aportes. Hasta la próxima :) GCC
  • 22.
    Manos a laobra! Una vez que los pasos anteriores estén realizados, comencemos con la travesia. El primer paso será crear un usuario de sistema: #adduser usamba En éste caso utilizo 'usamba', pero uds. pueden utilizar el nombre que deseen... será mientras solo una cuenta mas en tu /home. Puedes comprobar su creación haciendo un grep al archivo /etc/passwd.