Você está na página 1de 7

Instalar y configurar servidor Samba en Ubuntu Linux

24 septiembre, 2009 por Herman Barrantes Dejar una respuesta

Segn la definicin que podemos encontrar en Wikipedia Samba es: Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipoUNIX. De esta forma, es posible que ordenadores con GNU/Linux, Mac OS X o Unix en general se vean como servidores o acten como clientes en redes de Windows. Samba tambin 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 impresin, directorios compartidos y autentificar con su propio archivo de usuarios.

Instalar Samba
Primero que nada instalamos samba ejecutando en un terminal:
$ sudo aptitude install samba samba-client smbfs smbclient

La configuracin de Samba en /etc/samba/smb.conf

se

logra

editando

un

solo

archivo,

accesible

Cada vez que se cambie el archivo de configuracin se debe de recargar con el comando:
$ sudo /etc/init.d/samba reload

Configurar Samba
Modificar el grupo de trabajo
Abrimos el archivo de configuracin con:
$ sudo gedit /etc/samba/smb.conf

Y buscamos la lnea que contenga workgroup y ponemos el nombre del grupo de trabajo que queremos, ejemplo: workgroup

= gruposamba

Para este caso en particular use el programa gedit como editor de texto ya que yo uso Ubuntu Desktop, en otras distribuciones se podra usar nano, vi, kedit o cualquier otro editor de texto plano

Agregar usuarios a samba


En el siguiente ejemplo, vamos agregar un usuario de nombre jesus al grupo de usuarios users. Puedes agregar tantos usuarios necesites utilizando el mismo procedimiento.
$ sudo useradd jesus -m -G users

Activa una contrasea para el usuario de jesus en la base de datos de los usuarios de Linux. Si el usuario jesus no va tener permiso para firmarse en sistema de Linux, brncate este paso:
$ sudo passwd jesus

Ahora agregamos el usuario de linux a la base de datos de Samba


$ sudo smbpasswd -a jesus

Listo

Agregar una carpeta para compartir


Primero debemos crear una carpeta con permisos, por ejemplo:
$ sudo mkdir /home/public $ sudo chmod 555 /home/public

Nota: el permiso 555 hace la carpeta solo lectura, si desea que se puedan agregar/modificar
archivos o directorios en la carpeta esta debe tener permisos 755 Para ms informacin sobre permisos de archivos y directorios ver la entrada:Permisos en Linux con chmod Luego abrimos el archivo /etc/samba/smb.conf para modificarlo:
$ sudo gedit /etc/samba/smb.conf

Y le agregamos, al final, algo como esto:


[public] comment = Cosas publicas path = /home/public public = yes writable = no

El anterior ejemplo es la configuracin mas simple, con samba se puede hacer varias configuraciones, pero en general todas debe de seguir el siguiente estndar:
[Lo_que_sea] path = /cualquier/ruta/que/desee/compartir comment = Comentario que se le ocurra

El volumen puede utilizar cualquiera de las siguientes opciones: Opcin guest ok Descripcin Define si ser permitir el acceso como usuario invitado. El valor puede ser Yes o No. Es un equivalente del parmetro guest ok, es decir define si ser permitir el acceso como usuario invitado. El valor puede ser Yes o No. Define si se permitir mostrar este recurso en las listas de recursos compartidos.

public browseable

El valor puede ser Yes o No. Define si ser permitir la escritura. Es el parmetro 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

writable

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 valid users antecedidos por una @. Ejemplo: fulano, mengano, @administradores 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

write list

Define que usuarios o grupos pueden acceder con permisos administrativos para el recurso. Es decir, podrn acceder hacia el recurso realizando todas las operaciones como super usuarios. admin users Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores directory mask create mask Es lo mismo que directory mode. Define que permiso en el sistema tendrn los subdirectorios creados dentro del recurso. Ejemplos: 1777 Define que permiso en el sistema tendrn los nuevos ficheros creados dentro del recurso. Ejemplo: 0644

En el siguiente ejemplo se compartir a travs de Samba el recurso denominado

ftp, el cual

est localizado en el directorio /home/ftp/pub del disco duro. Se permitir el acceso a cualquiera pero ser un recurso de solo lectura salvo para los usuarios administrador y fulano. Todo directorio nuevo que sea creado en su interior tendr permiso 755 y todo fichero que sea puesto en su interior tendr permiso
[ftp] comment = Directorio del servidor FTP path = /home/ftp/pub guest ok = Yes read only = Yes write list = fulano, administrador directory mask = 0755 create mask = 0644

644.

Nota: Cada vez que se haga algn cambio al archivo de configuracin, samba debe de ser
recargado

Iniciar, detener, reiniciar, recargar servidor samba


Iniciar
$ sudo /etc/init.d/samba start

Detener
$ sudo /etc/init.d/samba stop

Reiniciar
$ sudo /etc/init.d/samba restart

Recargar
$ sudo /etc/init.d/samba reload

Comprobar archivo de configuracin


Para probar la configuracin, existe un programa llamado TESTPARM que lee el archivo de configuracin y reporta cualquier error de sintaxis. Cualquier parmetro de configuracin an no establecido ser ajustado a su valor por defecto. Recuerde que su archivo de configuracin puede estar sintcticamente correcto pero no apropiado para su uso, por ejemplo, si no creamos la carpeta publico en /home/ testparm EN NINGN CASO devolver cdigo de Para poder usar este comando testparm. programa solo se debe de ejecutar en un error. terminal el

Usar Samba
Desde Linux
smb://ip_o_nombre_del_equipo

o
smbclient //ip_o_nombre_del_equipo

Desde Windows
\ip_o_nombre_del_equipo

Puertos que usa samba


Si no logra conectar desde un equipo Windows lo ms probable es que el firewall tenga los puertos bloqueados; los puertos que samba utiliza son:

Puerto 135/TCP usado por el servicio smbd Puerto 137/UDP usado por el servicio nmbd Puerto 138/UDP usado por el servicio nmbd Puerto 139/TCP usado por el servicio smbd Puerto 445/TCP usado por el servicio smbd

Herramienta grfica para samba


Instalar:
$ sudo apt-get install system-config-samba

2. Servidor Samba en Ubuntu 12.10 usando tdbsam

en este tutorial se va a explicar la instalacin de un servidor de ficheros Samba en Ubuntu 12.10 y cmo realizar su configuracin para compartir ficheros sobre el protocolo SMB y cmo agregar usuarios. Importante sealas que Samba va a ser configurado en un servidor independiente, no como un controlador de dominio. El resultado de la configuracin que este artculo va a realizar ser: Cada usuario del sistema tendr su directorio home accesible mediante el protocolo SMB Todos los usuarios compartirn un directorio con acceso de lectura y escritura
1 Nota preliminar

Para la configuracin se esta usando un sistema Ubuntu 12.10 con nombre server1.example.com y con direccin IP 192.168.0.100. Todos los pasos de este tutorial ser ejecutados con privilegios de root, as que asegrate que los tienes con: sudo su
2 Instalando Samba

Conectamos con el shell del sistema e instalamos los paquetes de Samba: apt-get install libcups2 samba samba-common Editamos el fichero smb.conf : vi /etc/samba/smb.conf En la seccin global, eliminamos la # que se encuentra al comienzo de la linea security = user para que nos quede algo como:
[...] # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3HOWTO/ServerType.html # in the samba-doc package for details. security = user [...]

Esta modificacin que acabamos de hacer habilita en el sistema la posibilidad de hacer login en el servidor Samba. Ahora cerramos el fichero y reiniciamos el servicio Samba: /etc/init.d/smbd restart
3 Aadiendo a Samba recursos compartidos

Vamos a crear ahora el recurso compartido accesible por todos los usuarios. Vamos a preparar el directorio en el servidor. Creamos el directorio a compartir y lo preparamos a nivel de permisos (grupo y usuario): mkdir -p /home/shares/allusers chown -R root:users /home/shares/allusers/ chmod -R ug+rwx,o+rx-w /home/shares/allusers/ Ya tenemos listo el directorio. Ahora al final del fichero /etc/samba/smb.conf aadimos las siguientes lineas: vi /etc/samba/smb.conf

[...] [allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes

Con estas lineas ya tenemos definido el directorio compartido en Samba. Fijaos que le hemos indicado entre otras cosas donde se encuentra fsicamente ese directorio (path), que usuarios pueden acceder (valid users), que grupo, que es de escritura (writeble) y ademas de que forma se crean en dicho directorio ficheros y directorios (mask) Por otro lado, si queremos que los usuarios sean capaces de leer y escribir en sus directorios home a trabes de SMB, debemos aadir las siguientes lineas al fichero /etc/samba/smb.conf:
[...] [homes] comment = Home Directories browseable = no valid users = %S writable = yes create mask = 0700 directory mask = 0700

Ahora reiniciamos Samba de nuevo: /etc/init.d/smbd restart


4 Aadiendo y gestionando usuarios

En este ejemplo, voy a aadir un usuario de nombre tom. Puedes aadir tantos usuarios como necesites de la misma forma, simplemente reemplaza el nombre de usuario tom de los comandos siguientes como necesites. useradd tom -m -G users Ahora debemos establecer la contrasea de tom en la base de datos del sistema. En el caso de que no queramos que el usuario tom haga loggin en el sistema Linux podemos obviar el siguiente comando: passwd tom -> Introducimos la contrasea para el nuevo usuario. Ahora debemos aadir ese usuario a la base de datos de usuarios Samba: smbpasswd -a tom -> Introducimos la contrasea para el nuevo usuario. Bueno pues ya esta todo hecho, ahora debiramos se capaces de hacer loggin en la mquina Windows con el explorador de ficheros (la direccin es \\192.168.0.100 o \\192.168.0.100\tom para el directorio home) usando el nombre de usuario tom y la contrasea elegida y de guardar ficheros en el servidor Linux tanto en el directorio home de tom como en el directorio publico compartido

Você também pode gostar