Samba como Servidor de Archivos y Dominio de Control Primario (PDC) - Instalación y configuración de Samba
Tutorial creado por Ma. Alejandra Castillo M. Extraido de: http://www.tux.cl/articulos.php?id=38
27 de Diciembre de 2004
Servidores de contenidos, Servidores de correo, Servidores web, Unix, Microsoft Windows
1 - Instalación y configuración de Samba
Paquetes necesarios:
samba-2.2.3a-64
samba-client-2.2.3a-64
En Red Hat, Pregunte al sistema si se encuentran instalados estos paquetes, utilizando el siguiente comando:
rpm -q samba-common samba samba-client
Suse tiene la opción de instalar los paquetes en formato RPM, con la herramienta grafica YAST, ya que estos vienen incluidos en los CD-Rom de instalación de la distribución.
Nota: La ultima versión de Samba esta disponible en http://www.samba.org∞
Samba implica dos demonios que proporcionan recursos o servicios compartidos a clientes SMB sobre la red:
smbd es el demonio que se encarga de compartir los recursos: archivos, impresoras(implementando para ello el protocolo SMB), así como de autenticar y autorizar usuarios.
nmbd se ocupa de anunciar servicios. Es decir, se encarga de informar cuales son los recursoso disponibles presentes en la red. Este demonio maneja también la resolución de nombres NetBIOS. Para ello se comunica con un servidor WINS (Windows Internet Naming Service) presente en la red.
El siguiente comando puede ser utilizado para verificación de los demonios
ps -aux | egrep nmbd
Nota: La resolución de nombres consiste en obtener una equivalencia entre la dirección IP y el nombre de la maquina.
Existen dos formas de correr los demonios smdb y nmbd de SAMBA, manualmente y desde initd.
2. /etc/rc.d/smbd start (inicia la ejecución)3. /etc/rc.d/smbd stop (detiene la ejecución)4. /etc/rc.d/smbd restart (reinicia la ejecución)
6. netbios-ssn 139/tcp7. netbios-ns 137/udp8. Editar el archivo inetd.conf y adicionar las siguientes líneas: netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
Para utilizar correctamente esta forma de arrancar demonios, es necesario finalizar los demonios SAMBA que se estén ejecutando en el momento, con el comando service smbd stop.
Después de realizados estos cambios es conveniente matar el proceso de inetd o simplemente reiniciar el sistema y listo!
Nota: Todo lo anteriormente explicado también es posible hacerlo de forma más interactiva con YAST.
Existen dos formas para realizar la configuración:
3. http://localhost:9014. Para∞ poder iniciar esta herramienta primero deberá editar el archivo
/etc/inet.conf y activar la línea:swat stream tcp nowait.400 root /usr/sbin/swaty volver a correr los servicios inet con el comando/etc/rc.d/init.d/inet restart
Imhosts
Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Este se establecerá en el archivo /etc/samba/lmhosts, en donde encontrá lo siguiente:
localhost
Debemos añadir entonces el nombre que se haya elegido asociado a la dirección IP que se tenga dentro de la red local. Adicionalmente podrá, solo si es que lo quieres, añadir también el nombre y dirección IP del resto de las máquinas que conformen la red local.
127.0.0.1 localhost 192.168.1.5 ServidorSamba
La configuración de Samba se realiza en un solo archivo, smb.conf.
Este archivo de configuración determina que recursos del sistema se desean compartir con el mundo exterior y que restricciones se quieren poner en ellos. Pude ser muy simple o tremendamente complejo.
Cada sección del archivo empieza con una cabecera como [global], [impresoras], [home] etc.
Todos los archivos de configuración de Samba serán encontrados por defecto en /etc/samba.
El archivo smb.conf que se explica abajo, permite a los usuarios remotos acceder al directorio personal de cada uno (a su Home), en el servidor Samba y a otros subdirectorios específicos, dependiendo del permiso asignado a cada uno. Para que un usuario de Windows vea estos recursos, la máquina Linux debe estar en la red local. Entonces el usuario simplemente conecta una unidad de red desde el Explorador de Windows o el Windows File Manager.
" # " o " ; " : Las líneas que comienzan con estos caracteres, son consideradas comentarios.
A continuación veremos un ejemplo de una configuración relativamente básica, explicando cada uno de sus parámetros.
Sección [global]:
La sección [global] define las variables que Samba usará para definir la compartición de todos los recursos.
[global]workgroup = Grupo-de-Trabajo
Grupo de trabajo al que pertenece el servidor SAMBA
netbios name = Mi-Linux
Esta etiqueta nos presentara en la red con el nombre NetBios dado.
server string = Samba Server
Esta opción le dará una breve descripción a nuestra Maquina al presentarse dentro de la Red.
security = user
El parámetro security puede tomar uno de cuatro valores:
encrypt passwords = yes
Para esperar que las contraseñas vengan encriptadas usaremos la opción encrypt passwords = yes. Si fuera no, las esperaría en texto plano. Por defecto Win98 y Win NT (a partir del SP3), las envían encriptadas.
smb passwd file = /etc/samba/smbpasswd
Si has usado encrypt passwords, deberás tener un archivo smbpasswd con el nombre de los usuarios que autentificarás sus contraseñas encriptadas. Este archivo estará situado en algún sitio de nuestro sistema de archivos y indicaremos su ubicación indicándolo con smb passwd file = ..
hosts allow = 192.168.0.
Define cual será la red o subredes que tendrán acceso a nuestros servidor. En este caso definimos para que los usuarios que provengan de cualquier dirección que empiece con 192.168.0 tendran acceso.
socket options = IPTOS_LOWDELAY
Para que los datos se transfieran correctamente deberemos de indicar que el protocolo que utilizamos (en este caso TCP/IP).
log file = /var/log/samba.%m
Ubicación donde quedaran los logs, en este caso la extensión será acompañada de la maquina desde la cual se hizo la conexión, si se desea guardar los registros por cada usuario, cambiar %m por %u.
max log size = 50
Tamaño máximo para los archivos de logs.
keep alive = 30
Tiempo máximo (en segundos) que permitirá una conexión sin uso ("idle") antes de ser desconectada.( = 0 indica que no se desconectará )
log lavel = 2
El valor del parámetro (un entero) permite indicar niveles de depuración (niveles de registro) en el archivo smb.conf. Esto permite dar gran flexibilidad en la configuración del sistema.
Sección [homes]:
La sección [homes] permite a los usuarios remotos acceder a sus respectivos directorios principales en la máquina Linux local (cada uno al suyo nada más). Esto es, si un usuario de Windows intenta conectar a este recurso desde su máquina Windows, será conectado a su directorio personal. Por supuesto para hacer esto, hay que tener una cuenta en la máquina Linux.
[homes]comment = Directorios de cada Usuario
Comentarios adicionales del Directorio
browseable = no
Indica que el directorio no puede ser observado por los usuarios.
Read only = no
El usuario esta permitido escribir y leer del directorio en Unix. Esto es equivalente a decir
writable = yes
create mode = 0750
Los permisos de acceso (en Unix) que serán otorgados al crear un archivo. El creador del archivo tiene derechos rwx sobre el mismo, el grupo r-x y los otros r-- .
Otros Recursos
[Share]
Este directorio puede ser visto y modificado por cualquier usuario.
comment = Directorio de Compartido para todospath = /home/Sharewritable = yesbrowsable = yes[MyGrupo]
Este es un directorio el cual pertenece a un grupo determinado de personas, las que están agrupadas bajo el grupo MyGupo(creado en Linux). La opción valid users, valida los usuarios que pueden ingresar a este directorio, si deseas que el grupo completo tenga acceso, coloca una arroba delante, y si solo deseas que algunos integrantes puedan tener acceso al recurso, debes poner los nombres de usuario separados por espacios o por comas.
Por el contrario si quieres invalidar un usuario ocupas la opción Invalid users = usuario1, usuario2..
comment = Directorio de My grupo
path = /home/MyGrupo
valid users = @mygrupowritable = yes
Nota del editor :
Recientemente fue descubierto un exploit que afecta a la mayoria de las versiones no actualizadas de Samba. Para evitar que Samba escuche en todas las interfaces de red (que ocurre en la configuracion por defecto), agregar las siguientes directivas en la seccion global del smb.conf:
interfaces = 192.168.1.1
; reemplazar por el IP de la interfaz o simplemente
; reemplazar por el nombre de la interfaz, como eth1
; por ejemplo
; interfaces = 192.168.1.1 127.0.0.1
; interfaces = eth1 lo
bind interfaces only = yes
--jci
Algunas herramientas para la administración de SAMBA.
testparm: Examina el archivo smb.conf para la búsqueda de errores sintácticos y reporta cualquier error que encuentre.
smbclient: Es una herramienta muy parecida a ftp y permite conectarse a un PC Windows, algunas opciones:
smbmount y/o smbumount Montan y/o desmontan directorios de su maquina Windows sobre Linux.
smbmount "\win rabajo"-c 'mount /mnt -u 123 -g 456
Montara localmente el recurso compatido trabajo con un UID local de 123 y uun GID local de 456.
Para esto tembien existen herramientas graficas , por ejemplo: LinNeighborhood, que también esta incluido en los Cd de Suse.
smbtar: Es una herramienta que se utiliza para realizar copias de seguridad.
samba-2.2.3a-64
samba-client-2.2.3a-64
En Red Hat, Pregunte al sistema si se encuentran instalados estos paquetes, utilizando el siguiente comando:
rpm -q samba-common samba samba-client
Suse tiene la opción de instalar los paquetes en formato RPM, con la herramienta grafica YAST, ya que estos vienen incluidos en los CD-Rom de instalación de la distribución.
Nota: La ultima versión de Samba esta disponible en http://www.samba.org∞
Samba implica dos demonios que proporcionan recursos o servicios compartidos a clientes SMB sobre la red:
smbd es el demonio que se encarga de compartir los recursos: archivos, impresoras(implementando para ello el protocolo SMB), así como de autenticar y autorizar usuarios.
nmbd se ocupa de anunciar servicios. Es decir, se encarga de informar cuales son los recursoso disponibles presentes en la red. Este demonio maneja también la resolución de nombres NetBIOS. Para ello se comunica con un servidor WINS (Windows Internet Naming Service) presente en la red.
El siguiente comando puede ser utilizado para verificación de los demonios
ps -aux | egrep nmbd
Nota: La resolución de nombres consiste en obtener una equivalencia entre la dirección IP y el nombre de la maquina.
Existen dos formas de correr los demonios smdb y nmbd de SAMBA, manualmente y desde initd.
- Manualmente: para arrancar los demonios manualmente es necesario hacerlo como usuario root, desde la consola ejecutando los siguientes comandos:
2. /etc/rc.d/smbd start (inicia la ejecución)3. /etc/rc.d/smbd stop (detiene la ejecución)4. /etc/rc.d/smbd restart (reinicia la ejecución)
- Desde Inetd: Para arrancar los demonios desde inetd.conf, es necesario abrir el archivo services y añadir las siguiente líneas, si es que no existen aún:
6. netbios-ssn 139/tcp7. netbios-ns 137/udp8. Editar el archivo inetd.conf y adicionar las siguientes líneas: netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
Para utilizar correctamente esta forma de arrancar demonios, es necesario finalizar los demonios SAMBA que se estén ejecutando en el momento, con el comando service smbd stop.
Después de realizados estos cambios es conveniente matar el proceso de inetd o simplemente reiniciar el sistema y listo!
Nota: Todo lo anteriormente explicado también es posible hacerlo de forma más interactiva con YAST.
Existen dos formas para realizar la configuración:
- A mano. Se editan directamente, con un editor de texto los archivos de configuración, que se encuentran en /etc/samba.
- Con Swat (Samba Web Administration Tool). Se trata de una interfaz que se comporta como un servidor Web, conectándose a la maquina por medio de un simple navegador. Es posible leer la documentación, cambiar la configuración y realizar las demás tareas administrativas después de validarse como root o como usuario con permisos de administrador. El servidor Swat suele ejecutarse en el puerto 901, para no entrar en conflicto con el puerto 80, servidor de http. Desde el navegador Web ingrese la URL:
3. http://localhost:9014. Para∞ poder iniciar esta herramienta primero deberá editar el archivo
/etc/inet.conf y activar la línea:swat stream tcp nowait.400 root /usr/sbin/swaty volver a correr los servicios inet con el comando/etc/rc.d/init.d/inet restart
Editando los Archivos de Configuración
Imhosts
Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Este se establecerá en el archivo /etc/samba/lmhosts, en donde encontrá lo siguiente:
localhost
Debemos añadir entonces el nombre que se haya elegido asociado a la dirección IP que se tenga dentro de la red local. Adicionalmente podrá, solo si es que lo quieres, añadir también el nombre y dirección IP del resto de las máquinas que conformen la red local.
127.0.0.1 localhost 192.168.1.5 ServidorSamba
smb.conf
La configuración de Samba se realiza en un solo archivo, smb.conf.
Este archivo de configuración determina que recursos del sistema se desean compartir con el mundo exterior y que restricciones se quieren poner en ellos. Pude ser muy simple o tremendamente complejo.
Cada sección del archivo empieza con una cabecera como [global], [impresoras], [home] etc.
Todos los archivos de configuración de Samba serán encontrados por defecto en /etc/samba.
El archivo smb.conf que se explica abajo, permite a los usuarios remotos acceder al directorio personal de cada uno (a su Home), en el servidor Samba y a otros subdirectorios específicos, dependiendo del permiso asignado a cada uno. Para que un usuario de Windows vea estos recursos, la máquina Linux debe estar en la red local. Entonces el usuario simplemente conecta una unidad de red desde el Explorador de Windows o el Windows File Manager.
" # " o " ; " : Las líneas que comienzan con estos caracteres, son consideradas comentarios.
A continuación veremos un ejemplo de una configuración relativamente básica, explicando cada uno de sus parámetros.
Sección [global]:
La sección [global] define las variables que Samba usará para definir la compartición de todos los recursos.
[global]workgroup = Grupo-de-Trabajo
Grupo de trabajo al que pertenece el servidor SAMBA
netbios name = Mi-Linux
Esta etiqueta nos presentara en la red con el nombre NetBios dado.
server string = Samba Server
Esta opción le dará una breve descripción a nuestra Maquina al presentarse dentro de la Red.
security = user
El parámetro security puede tomar uno de cuatro valores:
- share (compartido): El cliente envía una contraseña mientras pide la conexión, pero #no se necesita un nombre de usuario. Este modo es el modo de seguridad predeterminado para los archivos o las impresoras bajo Windows. Se puede cambiar bajo Windows en la sección Red del Panel de Control de Acceso.
- user (usuario): Este es el modo de seguridad mas recomendado. Aquí se le pide al usuario un #nombre y contraseña valida.
- server (servidor): Es una variante del modo user. El servidor Samba envía un pedido de apertura de sesión a un servidor de contraseñas.
- domain (dominio): Es prácticamente el mismo anterior. Para estos tres últimos modos, el usuario debe ser creado sobre el servidor Samba.
encrypt passwords = yes
Para esperar que las contraseñas vengan encriptadas usaremos la opción encrypt passwords = yes. Si fuera no, las esperaría en texto plano. Por defecto Win98 y Win NT (a partir del SP3), las envían encriptadas.
smb passwd file = /etc/samba/smbpasswd
Si has usado encrypt passwords, deberás tener un archivo smbpasswd con el nombre de los usuarios que autentificarás sus contraseñas encriptadas. Este archivo estará situado en algún sitio de nuestro sistema de archivos y indicaremos su ubicación indicándolo con smb passwd file = ..
hosts allow = 192.168.0.
Define cual será la red o subredes que tendrán acceso a nuestros servidor. En este caso definimos para que los usuarios que provengan de cualquier dirección que empiece con 192.168.0 tendran acceso.
socket options = IPTOS_LOWDELAY
Para que los datos se transfieran correctamente deberemos de indicar que el protocolo que utilizamos (en este caso TCP/IP).
log file = /var/log/samba.%m
Ubicación donde quedaran los logs, en este caso la extensión será acompañada de la maquina desde la cual se hizo la conexión, si se desea guardar los registros por cada usuario, cambiar %m por %u.
max log size = 50
Tamaño máximo para los archivos de logs.
keep alive = 30
Tiempo máximo (en segundos) que permitirá una conexión sin uso ("idle") antes de ser desconectada.( = 0 indica que no se desconectará )
log lavel = 2
El valor del parámetro (un entero) permite indicar niveles de depuración (niveles de registro) en el archivo smb.conf. Esto permite dar gran flexibilidad en la configuración del sistema.
Sección [homes]:
La sección [homes] permite a los usuarios remotos acceder a sus respectivos directorios principales en la máquina Linux local (cada uno al suyo nada más). Esto es, si un usuario de Windows intenta conectar a este recurso desde su máquina Windows, será conectado a su directorio personal. Por supuesto para hacer esto, hay que tener una cuenta en la máquina Linux.
[homes]comment = Directorios de cada Usuario
Comentarios adicionales del Directorio
browseable = no
Indica que el directorio no puede ser observado por los usuarios.
Read only = no
El usuario esta permitido escribir y leer del directorio en Unix. Esto es equivalente a decir
writable = yes
create mode = 0750
Los permisos de acceso (en Unix) que serán otorgados al crear un archivo. El creador del archivo tiene derechos rwx sobre el mismo, el grupo r-x y los otros r-- .
Otros Recursos
[Share]
Este directorio puede ser visto y modificado por cualquier usuario.
comment = Directorio de Compartido para todospath = /home/Sharewritable = yesbrowsable = yes[MyGrupo]
Este es un directorio el cual pertenece a un grupo determinado de personas, las que están agrupadas bajo el grupo MyGupo(creado en Linux). La opción valid users, valida los usuarios que pueden ingresar a este directorio, si deseas que el grupo completo tenga acceso, coloca una arroba delante, y si solo deseas que algunos integrantes puedan tener acceso al recurso, debes poner los nombres de usuario separados por espacios o por comas.
Por el contrario si quieres invalidar un usuario ocupas la opción Invalid users = usuario1, usuario2..
comment = Directorio de My grupo
path = /home/MyGrupo
valid users = @mygrupowritable = yes
Nota del editor :
Recientemente fue descubierto un exploit que afecta a la mayoria de las versiones no actualizadas de Samba. Para evitar que Samba escuche en todas las interfaces de red (que ocurre en la configuracion por defecto), agregar las siguientes directivas en la seccion global del smb.conf:
interfaces = 192.168.1.1
; reemplazar por el IP de la interfaz o simplemente
; reemplazar por el nombre de la interfaz, como eth1
; por ejemplo
; interfaces = 192.168.1.1 127.0.0.1
; interfaces = eth1 lo
bind interfaces only = yes
--jci
Algunas herramientas para la administración de SAMBA.
testparm: Examina el archivo smb.conf para la búsqueda de errores sintácticos y reporta cualquier error que encuentre.
smbclient: Es una herramienta muy parecida a ftp y permite conectarse a un PC Windows, algunas opciones:
- smbclient -L win -N: consulta lista de recursos compartidos accesibles en las PC denominada win a traves de SMB)
- smbclient win/trabajo o smbclient \win\trabajo: conectarse al recurso compartido trabajo en la PC denominada win)
- smbclient win/work -Tc trabajo.tar : crea archivador .tar del recurso compartido trabajo)
- smbclient -U% -L localhost :Si reporta algún problema, inicializar los demonios manualmente y revisas los archivos de registro (/var/log/samba/log.smb) para averiguar que ha pasado.
smbmount y/o smbumount Montan y/o desmontan directorios de su maquina Windows sobre Linux.
smbmount "\win rabajo"-c 'mount /mnt -u 123 -g 456
Montara localmente el recurso compatido trabajo con un UID local de 123 y uun GID local de 456.
Para esto tembien existen herramientas graficas , por ejemplo: LinNeighborhood, que también esta incluido en los Cd de Suse.
smbtar: Es una herramienta que se utiliza para realizar copias de seguridad.
Valora este capítulo:
Autor y licencia de 'Samba como Servidor de Archivos y Dominio de Control Primario (PDC) - Instalación y configuración de Samba'
|
Opiniona sobre 'Samba como Servidor de Archivos y Dominio de Control Primario (PDC) - Instalación y configuración de Samba' (4)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este tutorial |
Wikis relacionados con 'Samba como Servidor de Archivos y Dominio de Control Primario (PDC) - Instalación y configuración de Samba'
Samba es una implementación bajo Unix de los protocolos CIFS (Common Internet File System -...
Más »
Si has oído hablar de Samba y deseas ver qué es lo que puede hacer...
Más »
Documento con fundamentos teóricos de control de accesos en redes telemáticas; se tratan temas como...
Más »
Aprenderás a utilizar uno de los mejores clientes P2P que actualmente existe (o sobrevive), a...
Más »
Con este articulo serás capaz de instalar el eMule en tu ordenador y comenzar a...
Más »

