viernes, 10 de octubre de 2008

Servidor de Archivos e Impresion Samba con Ubuntu

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux, Mac OS X o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autenticar con su propio archivo de usuarios.
Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las diferentes variantes
BSD entre las que podemos encontrar el Mac OS X Server de Apple.
Instalación:
$sudo aptitude install samba samba-client smbfs smbclient
esto debería instalar también varias otras dependencias.
Luego configuramos el archivo /etc/samba/smb.conf
$sudo gedit /etc/samba/smb.conf
Configurar Grupo de Trabajo:
Buscamos la linea que diga workgroup y establece tu grupo de trabajo.
workgroup = MYWORKGROUP
Para agregar una carpeta
Primero debemos crear una carpeta con permisos (por ejemplo) : $sudo mkdir /home/public
$sudo chmod 755 /home/public
Luego abrimos el archivo /etc/samba/smb.conf para modificarlo : $sudo nano /etc/samba/smb.conf
y le agregamos, al final, algo como esto :
[public]
comment = Carpeta compartida
path = /home/public
public = yes
writable = no
las opciones son auto-sugerentes, por ejemplo "public = yes" es para que se pueda acceder a la carpeta (el permiso x de sistema), y "writable = no" es para que no se pueda escribir (el permiso w de sistema).
Mas sobre los permisos de las carpetas
Generalmente (esto pasa con mi ubuntu 6.10) al usuario externo que tiene acceso al equipo a través de Samba, el sistema le da como nombre de usuario nobody y como nombre de grupo nogroup, es así como podemos cambiar el nombre de usuario y nombre de grupo a nuestras carpetas, con el fin de que el sistema también sepa quien es el propietario de esa carpeta: $sudo chown nobody:nogroup /home/public
$sudo chmod 555 /home/public
y si queremos que también pueda escribir sobre esta carpeta $sudo chmod 755 /home/public
y además debemos decirle a Samba que se lo permita (acuerdate que para que un permiso sea válido, tanto el sistema como Samba deben estar de acuerdo)

Para no usar contraseña
Buscamos (control+w) la línea donde diga algo como : ; security = user
y la reemplazamos por : security = SHARE
Agregando usuario
Suele pasar que cuando entras desde windows a una carpeta compartida en ubuntu, te pide usuario, puede hacer lo siguiente: sudo smbpasswd -a tu_usuario
si deseas le pones contraseña por motivos de seguridad, y si no necesitas la constraseña solo dale enter.

Para reiniciar samba
Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos reiniciar samba, para ello : $sudo /etc/init.d/samba restart
Con todo lo anterior deberíamos ser capaces de entrar desde un equipo con windows o linux a la carpeta /home/public sin necesidad de tener nombre de usuario ni password:
Desde Windows colocamos en la barra de direcciones de alguna ventana:
\\192.168.0.1\public
Desde Linux (que tenga instalado el paquete samba-client) abrimos una carpeta y colocamos en la barra de direcciones: smb://192.168.0.1/public/
donde 192.168.3.1 es "la IP privada" del equipo linux que contiene a la carpeta /home/public

No hay comentarios: