Instituto Tecnológico de Las Américas (ITLA) Sistema Operativos 3 Luis Enmanuel Carpio Domínguez Matrícula: 2012-1206 How to #7: Samba como Grupo de Trabajo SAMBA Samba es una implementación de código abierto del protocolo Server Message Block (SMB). Este permite la conectividad de Microsoft Windows, Linux, UNIX, y otros sistemas operativos juntos, lo que permite acceso y compartir archivos e impresoras entre Windows y los sistemas Linux. Samba usa el protocolo SMB que le permite parecer como un servidor Windows a clientes Windows. Un servidor Linux con SAMBA debidamente configurado puede sustituir a un servidor NT/2000, no solo en las tareas de compartir archivos y brindar un servicio activo de directorios (ADS, Active Directory Service), sino que además puede comportarse como PDC (Primary Domain Controller), efectuando la autentificación de usuarios con clientes Windows 2000/NT/98/95, compartiendo recursos (directorios e impresoras) y personalizando las sesiones de usuarios. Necesitará tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de instalación de su distribución predilecta: samba: Servidor SMB. samba-client: Diversos clientes para el protocolo SMB. samba-common: Ficheros necesarios para cliente y servidor. samba-swat: Configuración con GUI via web browser. En caso de que no estemos seguros de tener estos repositorios poemos revisar introduciendo el comando rpm -q seguido del paquete. Luego de verificar descargamos los que nos falten con el comando yum install seguido del o los paquetes. Samba como Grupo de Trabajo Los archivos de configuración de samba se encuentran en el fichero /etc/samba/ conteniendo los archivos smb.conf y lmhosts. A continuación modificaremos el fichero /etc/samba/smb.conf con cualquier editor de texto. Dentro de este notará que la información que le será de utilidad viene comentada con un símbolo # y los ejemplos con ; (punto y coma), siendo estos últimos los que tomaremos como referencia. [root@localhost ~]# vim /etc/samba/smb.conf Luego descomentamos quitándole el ; a las líneas netbios name donde pondremos el nombre de nuestro servidor, interfaces donde le indicaremos las interfaces del equipo que escucharan peticiones y hosts allow que especifica las direcciones o el rango de direcciones del o los clientes que accederán a este servicio. En este caso se utilizó como netbios carpio.domain y en las interfaces local (lo) Ethernet 0 (eth0) y la dirección del servidor. Ahora pasamos a introducir la dirección ip y el netbios name al archivo lmhosts. [root@localhost ~]# vim /etc/samba/lmhosts Este archivo solo contiene la dirección de host local. Lo que hicimos fue agregar la dirección de nuestro servidor y el netbios name. Otro archivo que aunque no pertenece a la carpeta de samba, debemos configurar y es /etc/hosts y le agregamos la dirección del servidor, el netbios name y los usuarios que utilizaran el servicio. Ahora para probar que la configuración que hemos hecho al archivo smb.conf utilizamos el comando testparm y presionamos enter. Ahora vamos crear el usuario que utilizara los recursos del grupo de trabajo de samba, tanto en Linux como en Windows. Por lo tanto deben ser igual. Para crear un usuarios nuevo en Linux usamos el comando useradd y le agregamos los parámetros -s /sbin/nologin para que el usuario no tenga acceso a los comandos del Shell, pues no es necesarios para su fin, luego le agregamos la contraseña que utilizara en samba con el comando smbpasswd –a [usuario] y por ultimo le damos acceso a los servicios de samba con smbpasswd –e [usuario]. Ahora pasamos al directorio del usuario para crear algunas carpetas y archivos que vamos a compartir, luego les cambiamos los permisos para que puedan ser accedidos en Windows. Ya que tenemos el directorios y los archivos que se van a compartir, debemos de introducirlos en el archivo de configuración de samba. Abrimos el archivo con cualquier editor y al final agregamos lo siguiente. Hay muchos parámetros que pomos agregar, para esta práctica solo estamos necesitando estos. Despues de introducir cada una de estas líneas, guardamos y cerramos. Entre los parámetros que podemos usar están: Opción Descripción guest ok Define si ser permitirá el acceso como usuario invitado. El valor puede ser Yes o No. public Es un equivalente del parámetro guest ok, es decir define si ser permitirá el acceso como usuario invitado. El valor puede ser Yes o No. browseable Define si se permitirá mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No. writable Define si ser permitirá la escritura. Es el parámetro contrario de read only. El valor puede ser Yes o No. Ejemplos: «writable = Yes» es lo mismo que «read only = No». Obviamente «writable = No» es lo mismo que «read only = Yes» valid users Define que usuarios o grupos pueden acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores write list Define que usuarios o grupos pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores admin users Define que usuarios o grupos pueden acceder con permisos administrativos para el recurso. Es decir, podrán acceder hacia el recurso realizando todas las operaciones como super-usuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores directory mask Es lo mismo que directory mode. Define que permiso en el sistema tendrán los subdirectorios creados dentro del recurso. Ejemplos: 1777 create mask Define que permiso en el sistema tendrán los nuevos ficheros creados dentro del recurso. Ejemplo: 0644 Verificamos los cambios con el comando testparm, si nos da algun error, abrimos el archivo y arreglamos lo que este mal, y asi hasta que todos este bien. Luego de esto tenemos que inicar los servicios, esto lo hacemos con los comandos service smb start y service nmb start. Si queremos que al inicar el sistema los servicios inicien introducimos los comandos chkconfig smb on y shkconfig nmb on. Casi todos los servicios de red necesitan tener permisos del firewall y de selinux. Para configurar el firewall en nuestros servidor para que permita samba tenemos dos formas: Desactivar por completo el firewall o dándole permiso al servicio que estamos usando. Para desactivar el firewall por completo (que no recomiendo) utilizamos el comando: [root@localhost ~]# service iptables stop Pero para esta última opción (que si recomiendo) utilizamos el comando: [root@localhost ~]# system-config-firewall-tui Y marcamos las líneas de Samba. Se nos presentará un cuadro como este. Luego de damos a close y luego al salir le damos a yes para que guarde los cambios. Opcionalmente y en algunos casos, obligatoriamente, debemos desactivar selinux y lo hacemos editando el archivo que se encuentra en /etc/sysconfig/selinux de la siguiente forma. Ahora procedemos a verificar que el servidor tenga conexión con el cliente. Para esto enviamos un ping a la ip del cliente. De la misma forma probamos la maquina cliente, hacia el servidor (por las dudas). Bien, ya que tenemos comunicación entre los equipos vamos a configurar el cliente Windows. Lo primero que hacemos es crear un nuevo usuario igual al que creamos en Linux. Nos dirigimos hasta Computer y luego damos click derecho y nos dirigimos hacia Manage o Administrar. Después nos dirigimos al panel izquierdo y seleccionamos Local Users and Groups y damos clic derecho a Users luego New User. Luego llenamos solo los parámetros de username, full name y contraseña. Al igual que en el servidor, necesitamos configurar el firewall para que permita el acceso de nuestra maquina cliente en la red. Este lo desactivamos dirigiéndonos al Panel de Control de Windows o rápidamente en Incio escribir “Firewall” y seleccionar Check firewall status. Luego seleccionamos en el panel izquierdo. Después desactivamos y salimos. Ahora ya podemos agregar el equipo cliente al grupo de trabajo. Esto lo hacemos dirigiéndonos a Inicio, damos clic derecho en Computer y seleccionamos Properties. Luego en esta ventana seleccinamos en la parte inferior derecha, Change settings. Luego en la pestaña actual que nos presenta le damos a cambiar el nombre de la computadora y grupo de trabajo. En el cuadro que dice workgroup introducimos el nombre que le asignamos previamente en la configuración de samba en el servidor, en este caso SBMGROUP. Luego nos pedirá reiniciar la computadora y cuando se reinicie nos logueamos con el usuario que creamos, en este caso luis. Ahora desde cualquier directorio en Windows, del lado izquierdo abrimos la pestaña Network, donde nos aparecerá el servidor con el netbios name que configuramos, luego entramos y vemos lo que hemos compartido como workgroup. Nota: Esta práctica fue realizada por Luis Enmanuel Carpio Domínguez en el sistema operativo CentOS 6.5 64-bits como práctica de la asignatura Sistemas Operativos 3 en el Instituto Tecnológico de las Américas (ITLA), Rep. Dom. Todos los derechos de edición y creación están reservados para el autor original. Copyright © 2014