Software Libre y GNU linux
Bienvenidos al Blog de zkorpio. sitio para tratar temas acerca de Software libre.

Hoy compré un nuevo disco duro para usarlo como backups de mi lan en casa y me dió por configurar Samba para poder compartir archivos entre gnu-linux y windows y encontré una guía rápida y efectiva para mis necesidades: Hoy compré un nuevo disco duro para usarlo como backups de mi lan en casa y me dió por configurar Samba para poder compartir archivos entre gnu-linux y windows y encontré una guía rápida y efectiva para mis necesidades: http://www.vensign.com/2007/03/18/instalando-samba-en-ubuntu-debian-para-compartir-archivos-e-impresoras-en-redes-windows/ En todo caso, por si el link esta caído acá posteo (copy and paste) este excelente artículo:

Samba es un programa Open Source que nos permite compartir archivos e impresoras desde una computadora Linux a PC con MS Windows como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresión basado en Linux colocado en una red donde se conectan PC con Windows.

La página oficial de Samba la puedes encontrar aquí

En este tutorial veremos como instalar Samba en un PC con Ubuntu o Debian instalado.

Lo primero es instalar Samba (como siempre les recuerdo que para instalar cualquier cosa en Linux necesitan tener privilegios de administrador o ser root, en el caso de utilizar Ubuntu colocando sudo antes de los comandos permite adquirir privilegios de root), ejecutamos el siguiente comando:

apt-get install samba smbfs

El archivo de configuración de Samba puede ser encontrado en /etc/samba/smb.conf vamos a editar este archivo, primero realizamos una copia de respaldo:

cp -p /etc/samba/smb.conf /etc/samba/smb_18032007_copia.conf

Siempre es bueno realizar una copia de los archivos de configuración que modifiquemos en caso de que cometamos algun error podamos volver a la configuración inicial, además a mi me gusta agregarle la fecha en que realice la copia para tener un registro.

Luego procedemos a modificar el archivo:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Nota: Si estas en KDE en cambio de GNOME cambia gedit por kate

En el archivo de configuración cambia donde dice workgroup = MSHOME (puede ser distinto en tu caso) a:

workgroup = MIGRUPO

Donde MIGRUPO es el nombre del grupo de trabajo de MS Windows o el nombre de dominio, de donde será parte el servidor Samba. Tienes que configurar el mismo grupo de trabajo en tus computadoras Windows, esto lo puedes hacer en Panel de control>Sistema>Nombre de Equipo>Cambiar Nombre.

Si quieres tambien puedes cambiar la linea donde dice server string esto es simplemente la descripción que verá tu grupo del servidor puedes colocar algo como:

server string = %h Servidor de archivos

%h lo que hace es imprimir el nombre de host de tu servidor.

Guarda los cambios y sigamos.

Como crear, editar o eliminar usuarios en Samba

Los usuarios que queremos que tengan acceso al servidor Samba deben estar creados como usuarios en nuestro servidor linux, podemos crear un grupo samba y agregar a ese grupo todos los usuarios que tendrán acceso al servidor samba:

Para agregar un usuario a linux podemos utilizar el comando:

adduser nombre_usuario

Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios.

Supongamos que tenemos un usuarios ya creado llamado jose y que lo queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente comando:

sudo smbpasswd -a jose

Nos aparecerá algo como:

smbpasswd -a jose New SMB password: Retype new SMB password: Added user jose.

Colocamos la clave que queremos que tenga ese usuario para ingresar al servidor Samba, la clave puede ser distinta a la clave que tiene el usuario para ingresar a Linux.

Vamos a crear un nuevo archivo donde estarán todos los usuarios autorizados para conectarse al Servidor de Samba, para esto ejecutamos:

En Debian:

nano /etc/samba/smbusers

En Ubuntu:

sudo gedit /etc/samba/smbusers

En el nuevo archivo copiamos la siguiente línea:

nombre_enlinux = “Nombre en Windows”

Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este caso jose y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva línea por cada usuario que creemos para Samba.

Para editar un usuario ejecutamos:

smbpasswd -a nombre_usuario

Para borrar un usuario ejecutamos:

smbpasswd -x nombre_usuario

Ahora que ya tenemos a los usuarios creados procedamos a ver como se compaten archivos y directorios.

Compartiendo Archivos con Samba

Vamos a modificar el archivo de configuración de Samba:

En Debian:

nano /etc/samba/smb.conf

En Ubuntu:

sudo gedit /etc/samba/smb.conf

Busca la línea que dice:

; security = user

Y la modificamos por:

security = user username map = /etc/samba/smbpasswd

Con esto lo que estamos haciendo es diciendole a Samba que vamos a autentificar por usuario y donde está la lista de los usuarios permitidos que fue la que creamos anteriormente.

Para darle acceso a los usuario a sus respectivos directorios home o personales, hacemos lo siguiente:

Buscamos las línea donde dice

;[homes] ; comment = Home Directories; ;browseable = no ;valid users = %S ;writable = no

Y le quitamos el ; para descomentarlos, y en writable le cambiamos no por yes para que el usuario pueda escribir en el directorio.

Siempre que cambiemos la configuración del archivo smb.conf debemos ejecutar el siguiente comando:

testparm

lo que hace este parámetro es verificar que los parámetros del archivo smb.conf estén correctos, luego que nos diga que todo esta bien ejecutamos:

/etc/init.d/samba restart

para aplicar los cambios.

Ahora si quieremos compartir un directorio que llamaremos grupo hacemos lo siguiente, primero creamos la carpeta que queremos compartir si ya no la habíamos creado:

mkdir /home/grupo chmod 777 /home/grupo

La puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf, voy a suponer que ya modificaste la parte de security y agregaste /etc/samba/smbusers a este archivo y que ya sabes como abrirlo para editarlo de ahora en adelante. Agregamos la siguientes lineas al final del archivo:

[Grupo] comment = Archivos Compartidos path = /home/grupo public = yes writable = yes create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup

Analicemos esta estructura, comment simplemente es un comentario de lo que es la carpeta puedes colocar lo que quieras, path por supuesto es donde esta la carpeta que queremos compartir, public es si quieres hacer esta carpeta disponible publicamente o no, para cambiarlo simplemente coloca no, writable permite definir si se puede escribir en la carpeta o no, create mask y directory mask es la mascara con la que se crearan los archivos (es decir que privilegios tendrán los archivos y directorios creados) si quieras que puedan hacer cualquier acción en la carpeta coloca 0777 en ambas, force group y force user es para forzar que solo un grupo específico o usuario se pueda conectar a esta carpeta.

Si además queremos que solo un grupo de usuarios pueda accesar a la carpeta agregamos esta línea después de writable:

valid users = nombre_usuario1 nombre_usuario2

Donde puedes agregar los usuarios que quieras que tengan acceso.

Luego de que termines de agregar las carpetas que quieras compartir Guarda el archivo y probamos el archivo smb.conf y reiniciamos el servidor de Samba:

testparm /etc/init.d/samba restart

Compartiendo Impresoras

Voy a suponer que ya tienes una impresora conectada y funcionado en tu PC Linux.

Compartir impresoras en Samba es muy sencillo simplemente busca estas dos líneas en el archivo /etc/samba/smb.conf (Recuerda hacer una copia de respaldo) :

… # printing = cups # printcap name = cups …

Y descomentalas:

… printing = cups printcap name = cups …

Guarda el archivo cimprueba los parámetros de smb.conf y reinicia el servidor de Samba ejecutando:

testparm /etc/init.d/samba restart

Y eso es todo, ya puedes ir a tu PC Windows y buscar en tu grupo de trabajo las carpetas compartidas de Linux en Samba y además agregar la impresora.

Espero que les haya servido este tutorial, más adelante publicaré un tutorial acerca de como configurar un servidor WINS con Samba.

El manual oficial de Samba lo pueden conseguir aquí.

Continua...

 

Bueno por comentar algunos de mis avances, aunque me he tardado un poco ya que he estado a full de trabajo.
Bueno por comentar algunos de mis avances, aunque me he tardado un poco ya que he estado a full de trabajo. En primer lugar como el seminario-taller que recibí se baso en el pic 16f628 entonces me lancé a la busqueda de algun software gpl que llenara mis expectativas y que lo pudiera hacer desde gnu-linux; después de una búsqueda un poco laboriosa y despues de un poco de ensayos (prueba-error) he conseguido un entorno al parecer muy completo (eso lo comprobaré mas adelante) para la programación de pics no solamente para el 16fxxx sino para muchos con software libre bajo gnu-linux. 1)El primero es un IDE muy funcional llamado piklab el mismo que es al parecer el resultado de un fork de pikdev, pero mas completo que se encarga de dar un entorno de desarrollo de aplicaciones para programar pics de la microchip y también dspics, muy parecido al entorno de mplab. Este IDE trae integrado compiladores y ensambladores, de la cual nosotros podemos escoger el que mejor nos parezca o con el que mejor nos acomodemos por ejemplo: like gputils, sdcc, c18 Tambien podemos disponer de un simulador llamado gpsim (me parece que va solo a modo consola). Soporta el común de programadores como seriales, paralelos, ICD2, Pickit2, PicStart+. Sus componentes son: piclab, piclab-prog, piclab-hex Con todo esto y mucho mas ya solo nos queda elegir un buen compilador que se ajuste a nuestras necesidades y podemos lanzarnos a este fascinante mundo de los pics. Para el que desee profundizar en la práctica con este ide acá la web: http://piklab.sourceforge.net/ 2) Como lenguaje-compilador para la programación de los pics finalmente y luego de muchas discusiones técnicas en foros me he definido por uno llamado JAL, cuya licencia obviamente es gpl y que ya va por su segunda versión (aunque como me ha comentado su creador lo ha liberado bajo una licencia FREE-BSD). Jal actualmente soporta pics de las familias 16c84, 16f84, 12c508, 12c509, 16F877) y Ubicom SX (SX18 and SX28). Este lenguaje de alto nivel al parecer es tan bueno que por ejemplo lo están usando para programar el pic con el que hackean las consolas de wii ... JAL está basado en PASCAL, así que se imaginarán lo fácil que va a ser incursionar en este lenguaje :) la web para el que esté interesado: http://jal.sourceforge.net/ Por lo visto voy por buenos pasos en mi aventura de programar pics, aunque por el momento la info es algo escasa y por lo general en inglés y alemán, estoy tan entusiasmado que estoy documentando absolutamente todos mis avances y prácticas, si todo sigue saliendo así publicaré un libro que podría titularse: "PROGRAMACION DE PICS CON SOFTWARE LIBRE BAJO GNU-LINUX " o algo así de esta forma estaré ayudando a fomentar el uso de esta herramienta y de paso me hago algunos pesitos :) Bueno es todo hasta el momento, aca iré posteando mas avances.....
Continua...