Universidad de El Salvador Facultad Multidisciplinaria de occidente
Comunicaciones I Servidor de Impresiones en Red Herrera Mejía, Luis Alberto Portillo Cárcamo, Franklin José
Pérez Chávez, Moisés Alejandro
Santa Ana 28 de Noviembre de 2011
Comunicaciones I Impresión en red
Universidad de El Salvador
Indice
Contenido Introduccion ........................................................................................................................................ 4
Instalación del servidor cups ........................................................................................................... 5
Arranque y parada manual del servidor cups ................................................................................. 5
Arranque automático del servidor de impresión al iniciar el sistema. ........................................... 5
Acceso a entorno gráfico como root ............................................................................................... 7
Resolución local de nombres de dominio ....................................................................................... 7
Configuración de la red ................................................................................................................... 7
Configuración de cups ......................................................................................................................... 8
Página principal de CUPS ............................................................................................................... 9
Inicio ............................................................................................................................................... 9
Administración ................................................................................................................................ 9
Clases ............................................................................................................................................ 10
Documentación/ayuda ................................................................................................................... 10
Trabajos ......................................................................................................................................... 10
Impresoras ..................................................................................................................................... 10
Administración del servidor de impresión .................................................................................... 14
Otros comandos cups .................................................................................................................... 14
Configuración de la impresora en los clientes .............................................................................. 14
Una vez que ya tenemos una impresora configurada en el servidor de impresión, ya estamos en
disposición de utilizarla tanto desde el propio servidor como desde el resto de los equipos de la
red. .................................................................................................................................................... 14
Instalación del cliente cups ........................................................................................................... 15
Configuración del cliente cups ...................................................................................................... 15
Comunicaciones I Impresión en red
Universidad de El Salvador
Probando la impresora .................................................................................................................. 15
Imprimiendo desde las aplicaciones .............................................................................................. 16
Instalación de Samba ........................................................................................................................ 16
Pasos para la instalación ............................................................................................................... 16
Instalación de un servidor ...................................................................................................... 16
Instalación de un cliente ............................................................................................................... 24
Configuración de Samba ................................................................................................................... 27
Introducción .................................................................................................................................. 27
Estructura del archivo smb.conf ................................................................................................... 27
Sintaxis .......................................................................................................................................... 27
Comprobando el archivo smb.conf ............................................................................................... 28
Ajustando el archivo de configuración de Samba ......................................................................... 29
Sección global ................................................................................................................................ 29
Perfiles móviles ............................................................................................................................. 30
Impresoras..................................................................................................................................... 31
Como instalar un Servidor DHCP ....................................................................................................... 32
Asignar una dirección IP fija a nuestro servidor DHCP .................................................................. 32
2. Instalación del servidor DHCP ................................................................................................... 32
3. Seleccionar la interfaz de red en la cual va a funcionar el servidor DHCP ................................ 32
4. Modificar el archivo de configuración de DHCP ........................................................................ 33
5. Reiniciar el servidor DHCP ......................................................................................................... 34
6. Probar en el cliente ................................................................................................................... 34
Comunicaciones I Impresión en red
Universidad de El Salvador
Introducción
Este trabajo nos muestra los pasos de cómo podemos hacer un servidor de impresiones en la red a
través de lo que es Linux, Windows para lo cual usamos los protocolos de Samba y de Cups.-
Comunicaciones I Impresión en red
Universidad de El Salvador
Instalación y configuración del servidor de impresión
Como primera opción vamos a instalar una impresora local en el servidor de nuestra
intranet y vamos a compartirla para que los usuarios de la red puedan utilizarla
independientemente del ordenador que estén utilizando.
Esta impresora estará situada en la misma ubicación que el servidor
Aunque Linux dispone de otros sistemas de impresión, uno muy utilizado es el sistema
CUPS (Common Unix Printer System - Sistema de impresión común en Unix) que será el
que utilicemos en este curso. El software CUPS permite instalar, configurar, administrar y
compartir impresoras en un servidor Linux de una forma bastante sencilla.
Instalación del servidor cups Para instalar el servidor de impresión cups debemos instalar mediante apt-get el paquete
cupsys que contiene todas las aplicaciones necesarias que nos proporcionará un servidor de
impresión.
luis@luis:# apt-get install cupsys
Arranque y parada manual del servidor cups El servidor cups, al igual que todos los servicios en Debian, dispone de un script de
arranque y parada en la carpeta /etc/init.d.
Iniciar o Reiniciar el servidor cups
luis@luis:# /etc/init.d/cups restart
Parar el servidor cups
luis@luis:# /etc/init.d/cups stop
Arranque automático del servidor de impresión al iniciar el sistema.
Cuando Linux arranca, puede hacerlo de 7 modos distintos, numerados del 0 al 6. A estos
modos se les denomina niveles de ejecución y son los siguientes:
Nivel 0 (Halt): Detiene el sistema
Comunicaciones I Impresión en red
Universidad de El Salvador
Nivel 1 (Monousuario): Permite entrar en el sistema como root sin contraseña y en
modo texto.
Nivel 2 (Multiusuario sin red): Modo multiusuario en modo texto y sin red.
Nivel 3 (Multiusuario con red): Modo multiusuario en modo texto y con red. Así
arrancan los servidores.
Nivel 4 (Pruebas): No utilizado
Nivel 5 (Multiusuario con red y modo gráfico): Multiusuario en entorno gráfico.
Así arrancan los PCs de usuario.
Nivel 6 (Reboot): Reinicia el sistema.
Normalmente Linux arranca en modo 5, aunque los servidores a veces se les configura para
arrancar en modo 3. El modo de arranque del sistema se configura en el archivo /etc/sysinit.
En función del nivel de ejecución, existe la posibilidad de configurar qué servicios deben
iniciarse de forma automática, para ello es necesario crear unos enlaces simbólicos en las
carpetas /etc/rcN.d (donde N es un número de 0 a 6 que indica el nivel de ejecución de
linux) que apunten al script de inicio del servicio que se encuentra en /etc/init.d/. Dichos
enlaces deberán tener un nombre un poco especial ya que deberán comenzar con la letra 'S'
de Start (arrancar) seguida de un número de dos cifras (para establecer el orden de arranque
de los servicios) y del nombre del servicio, ejemplo: S20samba ó S30nfs. Si lo que nos
interesa es que el servicio no arranque, la primera letra deberá ser una K de Kill (detener)
en lugar de una S, ejemplo: K20samba ó K30nfs.
Estos enlaces se pueden crear con el comando update-rc.d. Ejemplo, si deseamos que el
servicio samba se arranque cuando el servidor inicia en los niveles 3, 4 y 5 y no arranque
cuando inicia en los niveles 1, 2 y 6, ejecutaremos el siguiente comando (Ojo, no olvidar
el punto del final (.) al escribir el comando):
// Crear enlaces para inicio automático del servicio
# update-rc.d samba start 20 3 4 5 . stop 20 1 2 6 .
De esta forma se crearán enlaces simbólicos de arranque con nombre S20samba en las
carpetas /etc/rc3.d, /etc/rc4.d y /etc/rc5.d y de parada con nombre K20samba en las carpetas
/etc/rc1.d,/etc/rc2.d y /etc/rc6.d.
El número 20 indica la prioridad. Sirve para arrancar o parar antes unos servicios que otros
ya que los scripts se procesan por orden alfabético. Se puede utilizar cualquier número
entre 10 y 99.
Si por alguna razón el comando update-rc.d no crea los enlaces porque ya están creados,
existe la posibilidad de eliminarlos con la opción '-f' (forzado) y acto seguido volver a
crearlos:
Comunicaciones I Impresión en red
Universidad de El Salvador
// Eliminación forzosa de enlaces para inicio automático del servicio
# update-rc.d -f samba remove
// Volver a crear enlaces para inicio automático del servicio
# update-rc.d samba start 20 3 4 5 . stop 20 1 2 6 .
Acceso a entorno gráfico como root Aunque en un entorno de producción nunca necesitaremos acceder como root al entorno
gráfico, durante el curso será muy cómodo poder autentificarnos como root y disfrutar de
las herramientas gráficas. Por defecto viene deshabilitado el acceso como root al entorno
gráfico. Para habilitarlo, previamente tenemos que establecer la contraseña de root con el
comando 'sudo passwd root'. Luego, en el entorno de ventanas GNOME, debemos ejecutar
'sudo gdmsetup' y en la pestaña 'Seguridad' activar la opción 'Permitir entrada local al
administrador del sistema'. En el entorno de ventanas KDE, debemos establecer a 'True' el
parámetro 'AllowRootLogin' en el archivo '/etc/kde3/kdm/kdmrc'.
Resolución local de nombres de dominio Si no disponemos de servidor DNS pero queremos resolver nombres de dominio de nuestra
red local por sus respectivas IPs, una opción es editar el archivo /etc/hosts y añadir en él
tantas líneas como nombres queramos resolver
Configuración de la red
En sistemas Debian, la red se configura en el archivo:
Archivo de configuración de red
/etc/network/interfaces
En dicho archivo se configuran los parámetros de todas las interfaces de red como la
dirección IP, la máscara de subred, la dirección de red, la dirección de broadcast y la puerta
de enlace. A continuación mostramos un ejemplo de dicho archivo:
//Ejemplo de archivo /etc/network/interfaces
auto lo
iface lo inet loopback #Interface lazo localhost. Necesaria
auto eth0 #Primera tarjeta de red
iface eth0 inet dhcp #Configuramos por DHCP
auto eth1 #Segunda tarjeta de red
Comunicaciones I Impresión en red
Universidad de El Salvador
iface eth1 inet static #Configuramos manualmente
address 192.168.1.239 #Dirección IP
netmask 255.255.255.0 #Máscara de subred
gateway 192.168.1.1 #Puerta de enlace
auto wlan0 #Tarjeta de red inalámbrica
iface wlan0 inet dhcp #Configuramos por DHCP
Después de editar el archivo de configuración /etc/network/interfaces, para que la nueva IP
tome efecto debo reiniciar los servicios de red con el siguiente comando:
Aplicar la nueva configuración de red
/etc/init.d/networking restart
Ahora tan solo nos quedaría la configuración de los servidores DNS. Los DNS se
configuran en el archivo /etc/resolv.conf. Se pueden añadir tantas líneas como servidores
queramos configurar. Si queremos configurar solamente dos de telefónica, el archivo
quedaría así:
Archivo
/etc/resolv.conf con los DNS de telefónica
nameserver 80.58.0.33
nameserver 80.58.32.97
Configuración de cups
Todos los archivos de configuración de cups se encuentran en la carpeta /etc/cups. El
archivo de configuración del servicio es el archivo /etc/cups/cupsd.conf pero apenas es
necesario cambiar nada ya que la configuración del servicio se realiza via web.
Una vez que tenemos en marcha el servicio de impresión cups, podremos configurar
impresoras y administrar tareas de impresión. Desde el servidor, debemos abrir un
navegador e ir a la siguiente dirección:
// Configurar cups vía web
http://localhost:631/
Comunicaciones I Impresión en red
Universidad de El Salvador
La página principal del administrador de servidor de impresión vía web es:
Página principal de CUPS
Para poder acceder a alguna de las opciones es necesario ser administrador, en tal caso
habrá que poner nombre de usuario 'root' y su contraseña.
En la parte superior de la página principal, disponemos de seis menús que nos permitirán
acceder a las distintas opciones de configuración de cups. A continuación comentamos
brevemente las funciones de los distintos menús.
Inicio
Muestra la página de inicio de cups, desde la cual se puede acceder directamente a las
opciones más habituales.
Administración
Desde éste menú se puede acceder a las tareas de administración de cups: administrar
impresoras, trabajos de impresión, modificar archivos de configuración, ver errores, etc...
Comunicaciones I Impresión en red
Universidad de El Salvador
Clases
Permite crear grupos de impresoras para centralizar y gestionar grandes trabajos de
impresión. No se utiliza en pequeños sistemas.
Documentación/ayuda
Permite acceder a la ayuda de cupsys. Los documentos están en inglés.
Trabajos
Permite gestionar los trabajos de impresión. Podemos acceder a la cola, ver el estado de la
impresión y los trabajos pendientes de imprimir. Existe también la posibilidad de eliminar
trabajos de la cola de impresión.
Impresoras
Desde aquí podremos agregar, configurar, eliminar, modificar y administrar impresoras.
Añadir una impresora
Supongamos que disponemos de una impresora HP LaserJet 1010 conectada por USB a
nuestro servidor Linux. Deberemos configurarla en cups para que la impresora pueda ser
utilizada tanto desde el servidor como desde los distintos puestos de red.
Inicialmente, lo normal es que no haya ninguna impresora configurada en nuestro sistema,
por lo tanto, si accedemos al menú 'Impresoras' lo que veremos será:
Comunicaciones I Impresión en red
Universidad de El Salvador
Para añadir una nueva impresora debemos ir al menú 'Administración' y pulsar el botón
'Añadir impresora'. Nos aparecerá un pequeño formulario con tres cajas: Nombre,
Ubicación y Descripción donde deberemos poner el nombre que deseamos asignar a la
impresora (conviene evitar el uso de espacios), la ubicación donde se encuentra, una
descripción y pulsar 'Siguiente'. Ejemplo:
En el siguiente paso, debemos especificar el tipo de conexión con la impresora. Como es
una impresora conectada al puerto USB, deberemos escoger 'USB #1'. Otras opciones son:
AppSocket/HP JetDirect - Impresora conectada directamente a la red con protocolo
HP
Internet Printing Protocol (http) - Impresora accesible por http
Internet Printing Protocol (ipp) - Impresora accesible por ipp
LPD/LPR Host or Printer - Impresora conectada directamente a la red con protocolo
LPD/LPR
PDF Writing - Imprimir a PDF
USB Printer #n - Impresora USB
Windows Printer vía Samba - Impresora compartida en Windows o Linux con
samba
Comunicaciones I Impresión en red
Universidad de El Salvador
Posteriormente debemos elegir el driver de la impresora. Si no aparece nuestro modelo de
impresora, deberemos averiguar si es compatible con otros modelos de la lista.
Comunicaciones I Impresión en red
Universidad de El Salvador
La impresora ha quedado configurada:
Acto seguido aparecerá la página de opciones de la impresora.
Si volvemos al menú 'Impresoras' ahora podremos observar que tenemos una impresora
configurada.
Podemos utilizar el botón 'Imprimir página de prueba' para probar la impresora. Si la
prueba resulta satisfactoria, desde éste momento ya podremos imprimir con cualquier
aplicación que pueda utilizar cups como sistema de impresión, por ejemplo
OpenOffice.org:
Ya tenemos nuestra impresora lista para ser utilizada desde el propio servidor. Para que la
impresora pueda ser utilizada desde clientes por la red, es necesario ir a 'Administración' y
activar la casilla 'Compartir impresoras públicas conectadas a este sistema'. De esta forma,
CUPS compartirá la impresora utilizando el protocolo http.
Comunicaciones I Impresión en red
Universidad de El Salvador
Administración del servidor de impresión La administración del servidor de impresión comprende las acciones relacionadas con la
configuración de impresoras y gestión de usuarios y permisos para utilizar dichas
impresoras. Para realizar la tarea de administración disponemos del comando 'lpadmin' que
permite crear y eliminar impresoras (aunque es más sencillo hacerlo con la herramienta
web) y establecer permisos a usuarios entre otras funciones.
Ejemplos de utilización del comando lpadmin:
Para permitir el uso de la impresora al usuario luis y a moises:
// Permitir usuarios y grupos
# lpadmin -p Deskject-1000 -u allow:luis,moises
Para establecer límite de uso (páginas)
// Establecer límite de páginas en 5
# lpadmin -p Deskject-1000 -o job-page-limit=5
Otros comandos cups Aunque para administrar el servidor de impresión disponemos de la herramienta web de
administración y de la herramienta cupsconfig, cups también dispone de comandos que nos
permitirán realizar dichas funciones. Algunos de ellos son:
lp: imprimir
cancel: cancelar trabajos de impresión
lpinfo: mostrar dispositivos o drivers de impresión
lppasswd: establecer contraseñas de usuarios
lpstat: estado de las colas de impresión
cupsenable/cupsdisable: habilitar/deshabilitar cups
Configuración de la impresora en los clientes
Una vez que ya tenemos una impresora configurada en el servidor de impresión, ya estamos
en disposición de utilizarla tanto desde el propio servidor como desde el resto de los
equipos de la red.
Comunicaciones I Impresión en red
Universidad de El Salvador
Instalación del cliente cups Para poder utilizar el sistema cups en el resto de PCs de nuestra red, es necesario instalar y
configurar el cliente cups. Para instalar el cliente de impresión cups debemos instalar
mediante apt-get el paquete cupsys-client que contiene el software necesario para poder
imprimir a través de un servidor de impresión cups.
Instalación del cliente cupsys
root@luis:# apt-get install cupsys-client
Configuración del cliente cups
El archivo de configuración del cliente cups es el archivo /etc/cups/client.conf. Si dicho
archivo no existe, debemos crearlo con un editor de texto. En dicho archivo tan solo hay
que indicar quién es el servidor cups en el parámetro ServerName. En nuestro caso:
Configuración del cliente cups. Crear archivo /etc/cups/client.conf
ServerName 192.168.1.239
De ésta manera, todos los comandos de impresión funcionarán en nuestro sistema de la
misma forma que lo hace en el propio ser
Probando la impresora Comprobar el estado del servidor de impresión
root@luis:# lpstat -t
el planificador de tareas se está ejecutando
no hay un destino predeterminado del sistema
tipo de conexión para Laser1010: usb://HP/LaserJet%201010
Laser1010 aceptando peticiones desde sáb 01 sep 2007 14:12:01 CEST
la impresora Laser1010 está inactiva. activada desde sáb 01 sep 2007 14:12:01 CEST
root@luis:#
Mostrar todos los dispositivos del servidor de impresión
root@luis:# lpinfo -v
network socket
network beh
direct usb://HP/LaserJet%201010
network http
network ipp
network lpd
direct parallel:/dev/lp0
network smb
root@luis:#
Comunicaciones I Impresión en red
Universidad de El Salvador
Imprimiendo desde las aplicaciones
Las aplicaciones que utilicen el sistema cups podrán imprimir directamente en las
impresoras disponibles en el servidor de impresión. Para aquellas impresoras que no
utilizan el sistema cups, a veces permiten la configuración del comando de impresión que
deben lanzar para poder imprimir. El comando para imprimir en cups es el comando 'lp'.
Con la opción -d indicamos la impresora de destino. El archivo a imprimir puede ser un
archivo de texto o un archivo postscript.
Instalación de Samba
Pasos para la instalación
Se ha de diferenciar la instalación de un servidor Samba de la instalación de un cliente. En
las siguientes secciones se verá como instalar uno y otro, así como los requisitos para que
todo funcione correctamente.
En muchas ocasiones un mismo ordenador puede actuar como cliente y servidor Samba. En
esta documentación se entenderá por servidor Samba, aquel ordenador que preste servicios
(autentificación, compartición de unidades y archivos, etc.), y un cliente será aquel que los
utilice (acceso a los recursos compartidos, autentificación, montaje de sistemas de archivos
compartidos, etc.).
Instalación de un servidor
El paquete principal del servidor Samba es “samba”, a continuación se muestra la
información relativa al mismo:
Ejemplo Información sobre el paquete “samba”
$ /usr/bin/apt-cache show samba
Package: samba
Priority: optional
Section: net
Installed-Size: 6036
Maintainer: Eloy A. Paris <[email protected]>
Architecture: i386
Version: 3.0.7-1
Replaces: samba-common (<= 2.0.5a-2)
Depends: samba-common (= 3.0.7-1), netbase, logrotate,
libacl1 (>= 2.2.11-1), libc6 (>= 2.3.2.ds1-4), libcomerr2 (>= 1.33-3),
libcupsys2-gnutls10 (>= 1.1.20final-1), libkrb53 (>= 1.3.2),
libldap2 (>= 2.1.17-1), libpam0g (>= 0.76), libpopt0 (>= 1.7),
debconf (>= 0.5) | debconf-2.0, libpam-runtime (>= 0.76-13.1),
libpam-modules
Comunicaciones I Impresión en red
Universidad de El Salvador
Suggests: samba-doc
Filename: pool/main/s/samba/samba_3.0.7-1_i386.deb
Size: 2412814
MD5sum: b60a9942c8057c2f7ef3868bc79954a0
Description: a LanManager-like file and printer server for Unix
The Samba software suite is a collection of programs that
implements the SMB protocol for unix systems, allowing you to serve
files and printers to Windows, NT, OS/2 and DOS clients. This protocol
is sometimes also referred to as the LanManager or NetBIOS protocol.
.
This package contains all the components necessary to turn your
Debian GNU/Linux box into a powerful file and printer server.
.
Currently, the Samba Debian packages consist of the following:
.
samba - LanManager-like file and printer server for Unix.
samba-common - Samba common files used by both the server and the client.
smbclient - LanManager-like simple client for Unix.
swat - Samba Web Administration Tool
samba-doc - Samba documentation.
smbfs - Mount and umount commands for the smbfs (kernels 2.2.x and above).
libpam-smbpass - pluggable authentication module for SMB password database
libsmbclient - Shared library that allows applications to talk to SMB servers
libsmbclient-dev - libsmbclient shared libraries
winbind: Service to resolve user and group information from Windows NT
servers
python2.3-samba: Python bindings that allow access to various aspects of
Samba
.
It is possible to install a subset of these packages depending on
your particular needs. For example, to access other SMB servers you
should only need the smbclient and samba-common packages.
Task: file-server, print-server
Una de las dependencias del paquete “samba” es “samba-common”
El paquete “samba” sugiere la instalación de la documentación asociada al
mismo. Aun siendo recomendable instalar dicha documentación, será tarea
del administrador la elección de su instalación.
Ejemplo: Información sobre el paquete “samba-common”
$ /usr/bin/apt-cache show samba-common
Package: samba-common
Priority: optional
Section: net
Comunicaciones I Impresión en red
Universidad de El Salvador
Installed-Size: 4456
Maintainer: Eloy A. Paris <[email protected]>
Architecture: i386
Source: samba
Version: 3.0.7-1
Replaces: samba (<< 2.999+3.0.alpha21-4)
Depends: debconf, libpam-modules, libc6 (>= 2.3.2.ds1-4),
libcomerr2 (>= 1.33-3), libkrb53 (>= 1.3.2), libldap2 (>= 2.1.17-1),
libpopt0 (>= 1.7)
Filename: pool/main/s/samba/samba-common_3.0.7-1_i386.deb
Size: 1904980
MD5sum: 46ffe1e90eaf4dea5337ea7d87ea7732
Description: Samba common files used by both the server and the client
The Samba software suite is a collection of programs that
implements the SMB protocol for unix systems, allowing you to serve
files and printers to Windows, NT, OS/2 and DOS clients. This protocol
is sometimes also referred to as the LanManager or NetBIOS protocol.
.
This package contains the common files that are used by both the server
(provided in the samba package) and the client (provided in the smbclient
package).
Una vez obtenida la información sobre los paquetes que se van a instalar, se procede con la
instalación de Samba:
Ejemplo Instalación de “samba” (primera parte)
# /usr/bin/apt-get install samba
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
samba-common
Paquetes sugeridos:
samba-doc
Se instalarán los siguientes paquetes NUEVOS:
samba samba-common
0 actualizados, 2 se instalarán, 0 para eliminar y 1 no actualizados.
Se necesita descargar 0B/4318kB de archivos.
Se utilizarán 10,7MB de espacio de disco adicional después de desempaquetar.
¿Desea continuar? [S/n] S
Preconfiguring packages ...
Figura 1.1Configuración del grupo de trabajo/dominio de samba mediante debconf
Comunicaciones I Impresión en red
Universidad de El Salvador
Elección del grupo de trabajo/dominio que servirá el servidor Samba sujeto a la instalación.
En este caso “GSRDOMAIN”.
Figura 1.2 ¿Contraseñas cifradas?
Comunicaciones I Impresión en red
Universidad de El Salvador
Se responde afirmativamente a esta pregunta, de esta forma se hará uso de cifrado para el
intercambio/almacén de contraseñas.
Figura 1.3 ¿Utilizar la información del DHCP para configurar WINS?
Comunicaciones I Impresión en red
Universidad de El Salvador
En esta documentación no se van a utilizar servidores WINS ni DHCP, por lo que se
responde que no a esta pregunta.
Figura 1.4. ¿Cómo ejecutar Samba (demonios/inetd)?
Comunicaciones I Impresión en red
Universidad de El Salvador
Momento para la elección sobre como se quiere ejecutar Samba, ya sea utilizando el
superservidor inetd o mediante demonios.
La elección realizada para esta documentación ha sido la ejecución mediante demonios, ya
que en un entorno donde el uso de Samba sea frecuente, es mucho más eficiente ejecutarlo
desde los demonios que desde un superservidor inetd. De todas formas, en el Apéndice C,
Ejecución de Samba desde (x)inetd puede ver como ejecutar Samba desde un superservidor
(x)inetd.
Figura 1.5. Creación de la base de datos de contraseñas
Comunicaciones I Impresión en red
Universidad de El Salvador
Se responde que sí a esta pregunta, de esta forma se creará un archivo destinado al almacén
de las contraseñas para los usuarios de Samba.
Ejemplo Instalación de “samba” (segunda parte)
Seleccionando el paquete samba-common previamente no seleccionado.
(Leyendo la base de datos ...
133203 ficheros y directorios instalados actualmente.)
Desempaquetando samba-common (de .../samba-common_3.0.7-1_i386.deb) ...
Seleccionando el paquete samba previamente no seleccionado.
Desempaquetando samba (de .../samba_3.0.7-1_i386.deb) ...
Configurando samba-common (3.0.7-1) ...
Configurando samba (3.0.7-1) ...
Generating /etc/default/samba...
TDBSAM version too old (0), trying to convert it.
TDBSAM converted successfully.
--------- IMPORTANT INFORMATION FOR XINETD USERS ----------
The following line will be added to your /etc/inetd.conf file:
#<off># netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd
Comunicaciones I Impresión en red
Universidad de El Salvador
If you are indeed using xinetd, you will have to convert the
above into /etc/xinetd.conf format, and add it manually. See
/usr/share/doc/xinetd/README.Debian for more information.
-----------------------------------------------------------
Starting Samba daemons: nmbd smbd.
localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...
Archivo destinado a las opciones por defecto de los scripts de inicio del
servidor Samba.
Información para los usuarios de xinetd (servidor que reemplaza al
superservidor de Internet -inetd-), importante si pretende utilizarlo para
ejecutar Samba.
Nota
Si a la hora de instalar el paquete no se le han realizado todas las preguntas que se han
mostrado en el proceso de instalación, puede forzarlo tecleando la siguiente orden:
Ejemplo Configuración preliminar de “samba”
# /usr/sbin/dpkg-reconfigure --priority=low samba
En estos momentos el servidor Samba ya se encontraría instalado e inicialmente
configurado. En el siguiente capítulo se verá como adecuar la configuración a sus
necesidades, pero antes se tratará la instalación de los clientes en la siguiente sección.
Instalación de un cliente
Hay dos paquetes importantes para un cliente Samba: “smbclient” y “smbfs”, a
continuación se verá su descripción:
Ejemplo Información sobre los paquetes “smbclient” y “smbfs”
$ /usr/bin/apt-cache show smbclient smbfs
Package: smbclient
Priority: optional
Section: net
Installed-Size: 5988
Maintainer: Eloy A. Paris <[email protected]>
Architecture: i386
Source: samba
Version: 3.0.7-1
Comunicaciones I Impresión en red
Universidad de El Salvador
Replaces: samba (<< 2.999+3.0.alpha21-4)
Provides: samba-client
Depends: samba-common (= 3.0.7-1),
libc6 (>= 2.3.2.ds1-4), libcomerr2 (>= 1.33-3), libkrb53 (>= 1.3.2),
libldap2 (>= 2.1.17-1), libncurses5 (>= 5.4-1), libpopt0 (>= 1.7),
libreadline4 (>= 4.3-1)
Suggests: smbfs
Filename: pool/main/s/samba/smbclient_3.0.7-1_i386.deb
Size: 2411216
MD5sum: 3c4fdf54182fce094b94a6f3e420e6f9
Description: a LanManager-like simple client for Unix
The Samba software suite is a collection of programs that
implements the SMB protocol for unix systems, allowing you to serve
files and printers to Windows, NT, OS/2 and DOS clients. This protocol
is sometimes also referred to as the LanManager or NetBIOS protocol.
.
This package contains some client components of the Samba suite. In
particular it includes the command line utilities smbclient, smbtar,
and smbspool. If you want to mount shares exported from Microsoft
Windows machines or a Samba server you must install the smbfs package.
Task: file-server, print-server
Package: smbfs
Priority: optional
Section: otherosfs
Installed-Size: 720
Maintainer: Eloy A. Paris <[email protected]>
Architecture: i386
Source: samba
Version: 3.0.7-1
Replaces: smbfsx
Depends: netbase (>= 2.02), samba-common (= 3.0.7-1),
libc6 (>= 2.3.2.ds1-4), libcomerr2 (>= 1.33-3), libkrb53 (>= 1.3.2), libldap2 (>=
2.1.17-1)
Suggests: smbclient
Conflicts: smbfsx, suidmanager (<< 0.50)
Filename: pool/main/s/samba/smbfs_3.0.7-1_i386.deb
Size: 311844
MD5sum: 3051f174f56f0b1cc5056364847daa50
Description: mount and umount commands for the smbfs (for kernels >= than
2.2.x)
Smbfs is a filesystem which understands the SMB protocol.
This is the protocol Windows for Workgroups, Windows NT or
LAN Manager use to talk to each other. It was inspired by
samba, the program by Andrew Tridgell that turns any unix
site into a file server for DOS or Windows clients.
Comunicaciones I Impresión en red
Universidad de El Salvador
.
If you want to use command-line utilities like smbclient, smbtar
and/or smbspool you just need to install the smbclient package.
.
Starting with the Debian Samba packages version 2.2.0-1, the old smbfs
utilities for 2.0.x have been removed. There are no wrapper scripts
that call a specific smbmount/smbumount depending on the kernel
version. If you are using a 2.0.x kernel please upgrade or use the
latest Samba 2.0.7 Debian package.
Task: file-server, print-server
Como se puede ver, tanto el paquete “smbclient” como el paquete “smbfs”
dependen de “samba-common”, al igual que el paquete “samba”
Se puede comprobar que ambos paquetes, “smbclient” y “smbfs”, se
recomiendan mutuamente, normalmente suele ser buena idea instalar ambos.
Ahora que ya se tiene la información de los paquetes que se van a instalar en el cliente, se
procede con su instalación:
Ejemplo Instalación de “smbclient” y “smbfs”
# /usr/bin/apt-get install smbclient smbfs
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes NUEVOS:
smbclient smbfs
0 actualizados, 2 se instalarán, 0 para eliminar y 1 no actualizados.
Se necesita descargar 0B/2723kB de archivos.
Se utilizarán 6869kB de espacio de disco adicional después de desempaquetar.
Seleccionando el paquete smbclient previamente no seleccionado.
(Leyendo la base de datos ...
133280 ficheros y directorios instalados actualmente.)
Desempaquetando smbclient (de .../smbclient_3.0.7-1_i386.deb) ...
Seleccionando el paquete smbfs previamente no seleccionado.
Desempaquetando smbfs (de .../smbfs_3.0.7-1_i386.deb) ...
Configurando smbclient (3.0.7-1) ...
Configurando smbfs (3.0.7-1) ...
localepurge: checking system for new locale ...
localepurge: processing locale files ...
localepurge: processing man pages ...
Una vez se ha completado el proceso de instalación, el sistema tendrá disponibles las
siguientes herramientas (para saber que hace cada una, se pueden consultar las páginas del
manual que traen adjuntas):
Comunicaciones I Impresión en red
Universidad de El Salvador
Ejemplo Herramientas suministradas por los paquetes “smbclient” y “smbfs”
$ /usr/bin/dpkg -L smbclient | /bin/grep bin
/usr/bin/smbclient
/usr/bin/smbtar
/usr/bin/rpcclient
/usr/bin/smbspool
/usr/bin/smbtree
/usr/bin/smbcacls
/usr/bin/smbcquotas
$ /usr/bin/dpkg -L smbfs | /bin/grep bin
/usr/bin/smbmount
/usr/bin/smbumount
/usr/bin/smbmnt
/sbin/mount.smbfs
/sbin/mount.smb
Configuración de Samba
Introducción
La configuración de Samba, primero se mostrará como es la estructura de un archivo de
configuración para Samba y luego se procederá a mostrar las distintas opciones de
configuración para obtener el resultado esperado.
Estructura del archivo smb.conf La configuración de Samba se almacena en el archivo smb.conf, que en el sistema Debian
GNU/Linux se encuentra en el directorio /etc/samba/.
Sintaxis
Cada sección en el archivo smb.conf representa un recurso compartido en el servidor
Samba. La sección “global” es especial, ya que contiene opciones que se aplican a todo el
servidor Samba y no sólo a un recurso compartido en particular.
Un archivo de configuración realmente pequeño, podría ser:
Ejemplo Un archivo smb.conf mínimo
[global]
workgroup = GRUPODETRABAJO
netbios name = MINOMBRE
[recurso-compartido1]
path = /tmp
Comunicaciones I Impresión en red
Universidad de El Salvador
[recurso-compartido2]
path = /otro_directorio_compartido
comment = Algunos archivos aleatorios
Comprobando el archivo smb.conf
Es importante validar el contenido del archivo smb.conf haciendo uso del programa
testparm. Si testparm se ejecuta correctamente, listará los servicios cargados.
Ejemplo Comprobando el archivo por defecto smb.conf con testparm
# /usr/bin/testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[ENTER] # Global parameters
[global]
workgroup = GSRDOMAIN
server string = %h server (Samba %v)
obey pam restrictions = Yes
passdb backend = tdbsam, guest
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n
*Retype\snew\sUNIX\spassword:* %n\n .
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
panic action = /usr/share/samba/panic-action %d
invalid users = root
[homes]
comment = Home Directories
create mask = 0700
directory mask = 0700
browseable = No
[printers]
comment = All Printers
Comunicaciones I Impresión en red
Universidad de El Salvador
path = /tmp
create mask = 0700
printable = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
Ajustando el archivo de configuración de Samba
Sección global
En la sección global se configurarán los parámetros globales del servidor. Entre otras cosas,
se definirán los programas que serán utilizados para que un usuario pueda cambiar su clave
(passwd program) y el diálogo que se establecerá entre el servidor y el usuario durante este
cambio.
La opción “add user script” permite al demonio smb añadir, como usuario root, una nueva
máquina. Cuando una máquina contacta con el dominio, este script es llamado y la nueva
máquina es añadida al dominio. Esto hace que la administración de las cuentas para las
máquinas sea muy sencilla. Por razones de seguridad, no todas las máquinas pueden entrar
en el dominio, sólo aquellas cuyo administrador tenga una cuenta con los privilegios
suficientes.
Controlador de dominio
os level = 80
preferred master = yes
domain master = yes
local master = yes
domain logons = yes
logon path = \\%L\profiles\%u
logon drive = H:
logon home = \\%L\%u\.profile
logon script =
; domain admin group = @domainadmins
Parámetro que controla el nivel en el que Samba se anunciará como elección de
búsqueda. El valor de este parámetro determinará si el demonio nmbd tendrá
alguna posibilidad de llegar a ser un buscador primario local para el grupo de
trabajo en el área de broadcast local.
Estos parámetros juegan un papel fundamental asegurando el control del dominio y
Comunicaciones I Impresión en red
Universidad de El Salvador
el soporte de autentificación en red. Una descripción más detallada de los mismos
se encuentra en la página del manual smb.conf(5).
Opciones que facilitan las operaciones de autentificado de clientes y facilitan el
control automatizado para la administración de redes sobrecargadas. Más
información en la página del manual smb.conf(5).
Parámetro que acepta usuarios y grupos de usuarios que serán administradores de
dominio. Este parámetro se comenta, ya que parece que Samba no lo reconoce.
Perfiles móviles
Este recurso compartido se utiliza para almacenar los perfiles de escritorio de los usuarios.
Cada usuario ha de tener un directorio en el raíz de este recurso compartido. Este recurso ha
de tener permisos de escritura para los usuarios y debería tener la permisos de lectura
globales. Samba-3 tiene un módulo VFS denominado “fake_permissions” (permisos
“falsos”) que se deberían instalar en este recurso. Este módulo permitiría a un
administrador de Samba hacer el directorio de sólo lectura para todo el mundo. Por
supuesto, esto sólo es útil una vez se ha creado correctamente el perfil.
Los parámetros más importantes de esta sección se muestran a continuación:
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700
Directorio donde se almacenarán los perfiles móviles, bajo este directorio, cada
usuario tendrá una carpeta con su nombre.
Se permite escribir en el recurso compartido.
Indica si este recurso aparecerá en la lista de recursos compartidos o no. En este caso,
no se mostrará.
Máscara de creación de archivos, el valor de este parámetro indicará los permisos que
Comunicaciones I Impresión en red
Universidad de El Salvador
tendrán los archivos de nueva creación.
Máscara de creación de directorios, el valor de este parámetro indicará los permisos
que tendrán los directorios de nueva creación.
Impresoras
Este es un recurso compartido especial que crea automáticamente servicios de impresión.
La forma en que trabaja es la siguiente: si se crea un recurso compartido con el nombre
[printers] en el archivo de configuración, Samba leerá automáticamente el archivo de
definición de sus impresoras y creará una impresora compartida para cada impresora que
aparezca en el archivo. Por ejemplo, si posee tres impresoras definidas: una lp otra pcl y
una última ps, Samba proveerá tres impresoras compartidas con esos nombres, cada una
configurada con las opciones que aparezcan en el recurso compartido [printers].
Los parámetros más importantes de esta sección se muestran a continuación:
browseable = no
path = /tmp
printable = yes
guest ok = no
writable = no
create mask = 0700
Indica si este recurso aparecerá en la lista de recursos compartidos o no. En este caso,
no se mostrará.
Directorio que utilizará Samba como cola de impresión.
Como este parámetro tiene el valor yes, los clientes que se conecten al servidor,
podrán abrir, escribir en y enviar archivos a la cola de impresión, es decir, al directorio
especificado por la variable path.
No se permitirán las conexiones sin autentificación a este recurso.
No se permite escribir en el recurso compartido.
Comunicaciones I Impresión en red
Universidad de El Salvador
Máscara de creación de archivos, el valor de este parámetro indicará los permisos que
tendrán los archivos de nueva creación.
Como instalar un Servidor DHCP
Asignar una dirección IP fija a nuestro servidor DHCP
Para esto abrimos el archivo de configuración de red que se encuentra en /etc/network/interfaces y colocamos lo siguiente
dentro del archivo:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
Esto suponiendo que su interfaz de red es la eth0
2. Instalación del servidor DHCP
Abrimos el terminal en Ubuntu y ejecutamos:
sudo apt-get install dhcp3-server
Al finalizar la instalación aparecerán unos mensajes parecidos a estos:
Setting up dhcp3-server (3.1.3-2ubuntu3) ...
Generating /etc/default/dhcp3-server...
* Starting DHCP server dhcpd3
* check syslog for diagnostics. [fail]
Setting up dhcp3-server (3.1.3-2ubuntu3) ...Generating /etc/default/dhcp3-server... * Starting DHCP server
dhcpd3 * check syslog for diagnostics. [fail]
No se preocupen por los mensajes de fallos estos simplemente ocurren porque aún no hemos configurado el servidor.
3. Seleccionar la interfaz de red en la cual va a funcionar el servidor DHCP
Si configuramos la interfaz eth0 en el paso 1 usaremos esta, si configuramos otra tienen que cambiar donde está eth0 por
la interfaz de red a utilizar
Comunicaciones I Impresión en red
Universidad de El Salvador
Abrimos el archivo que se encuentra en sudo /etc/default/dhcp3-server ejecutando:
sudo vim /etc/default/dhcp3-server
Nota: Pueden utilizar el editor de su preferencia (nano, gedit, vi, emacs, etc). Donde aparece:
INTERFACES=""
La cambiamos por:
INTERFACES="eth0"
En eth0 el 0 es un CERO Luego guardamos y cerramos el archivo, aquí estamos diciendo que el servidor DHCP debe "escuchar" en esta interfaz
por las peticiones de DHCP.
4. Modificar el archivo de configuración de DHCP
Antes de modificar el archivo de configuración de DHCP hacemos un respaldo del archivo, para tener siempre el original
por cualquier fallo que se nos pueda presentar, ejecutamos en el terminal:
sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf-respaldo
Luego abrimos el archivo de configuración de DHCP ejecutando:
sudo vim /etc/dhcp3/dhcpd.conf
Dentro del archivo encontrarán gran cantidad de comentarios y ejemplos que sirven como guía para configurar el servidor
DHCP en este caso vamos a borrar todo lo que existe dentro del archivo (lo respaldaron como les dije en el paso anterior
cierto?) y colocamos:
default-lease-time 600; #tiempo de espera antes de renovar la direccion IP
max-lease-time 7200; #tiempo máximo de espera antes de renovar la direccion IP
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
option domain-name-servers 208.67.222.222,208.67.220.220; #servidores DNS
option domain-name "ejemplo.local";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
}
en dado caso tengamos una impresora con mac addres podemos asignarle una direccion ip fija para que los clientes
a los que se les asigne direccion ip puedan conectarse direstamente al impresor y asi poder imprimir
#Configuracion IP fija para impresora en red
host impresora1 {
Comunicaciones I Impresión en red
Universidad de El Salvador
hardware ethernet 00:00:55:ef:db:55;
fixed-address 192.168.1.10;
}
Recuerden cambiar los valores por los que hayan decidido en su red y cambiar la dirección MAC de la impresora
por la de su impresora.
5. Reiniciar el servidor DHCP
Por último para que la configuración haga efecto y nuestro servidor DHCP funcione ejecutamos:
sudo /etc/init.d/dhcp3-server restart
Con esto reiniciamos el servicio de DHCP y si no sale ningún error debería funcionar (puede salir un error cuando intenta
detener (STOP) el servicio porque simplemente no está corriendo aún).
6. Probar en el cliente
NOTA IMPORTANTE: Debe existir sólo un servidor DHCP en nuestra red, si tienen algún otro servidor DHCP (como
por ejemplo el de un router o router inalámbrico) deben estar deshabilitado de lo contrario podrían tener conflictos dentro
de su red. Una vez que tengamos configurado nuestro servidor DHCP es hora de obtener las direcciones IP en nuestros clientes.
Tenemos dos casos:
a. Si el PC cliente ya está encendido y tiene una dirección IP asignada deberán, tanto para un PC con MS Windows como
Linux, solicitar que renueve la dirección IP de su PC.
b. Si el PC está apagado, no hay problemas la próxima vez que la enciendan obtendrá la dirección IP automáticamente.
Una vez hecho esto los clientes deberán obtener direcciones IP automáticamente y estar dentro del rango de .100 y .200.
Por ejemplo 192.168.1.101.-
En un cliente Linux además pueden verificar ejecutando el comando:
sudo dhclient
sudo solo es necesario para Ubuntu y derivados (deben tener permisos de administrador en el cliente) ó
tail -n 15 /var/lib/dhcp3/dhclient.*.leases